ROL
Classes | Namespaces | Macros | Enumerations | Functions | Variables
ROL_Types.hpp File Reference

Contains definitions of custom data types in ROL. More...

#include <algorithm>
#include <string>
#include <limits>
#include <Teuchos_getConst.hpp>
#include <Teuchos_RCP.hpp>
#include <Teuchos_ScalarTraits.hpp>
#include <Teuchos_TestForException.hpp>
#include <ROL_Vector.hpp>

Go to the source code of this file.

Classes

struct  ROL::AlgorithmState< Real >
 State for algorithm class. Will be used for restarts. More...
 
struct  ROL::StepState< Real >
 State for step class. Will be used for restarts. More...
 
struct  ROL::removeSpecialCharacters
 

Namespaces

 ROL
 
 ROL::Finite_Difference_Arrays
 

Macros

#define ROL_VALIDATE(A)   /* empty */
 
#define ROL_NUM_CHECKDERIV_STEPS   13
 Number of steps for derivative checks. More...
 

Enumerations

enum  ROL::EStep {
  ROL::STEP_AUGMENTEDLAGRANGIAN = 0, ROL::STEP_BUNDLE, ROL::STEP_COMPOSITESTEP, ROL::STEP_LINESEARCH,
  ROL::STEP_MOREAUYOSIDAPENALTY, ROL::STEP_PRIMALDUALACTIVESET, ROL::STEP_TRUSTREGION, ROL::STEP_INTERIORPOINT,
  ROL::STEP_LAST
}
 Enumeration of step types. More...
 
enum  ROL::EBoundAlgorithm { ROL::BOUNDALGORITHM_PROJECTED = 0, ROL::BOUNDALGORITHM_PRIMALDUALACTIVESET, ROL::BOUNDALGORITHM_INTERIORPOINTS, ROL::BOUNDALGORITHM_LAST }
 Enumeration of algorithms to handle bound constraints. More...
 
enum  ROL::EDescent {
  ROL::DESCENT_STEEPEST = 0, ROL::DESCENT_NONLINEARCG, ROL::DESCENT_SECANT, ROL::DESCENT_NEWTON,
  ROL::DESCENT_NEWTONKRYLOV, ROL::DESCENT_LAST
}
 Enumeration of descent direction types. More...
 
enum  ROL::ESecant {
  ROL::SECANT_LBFGS = 0, ROL::SECANT_LDFP, ROL::SECANT_LSR1, ROL::SECANT_BARZILAIBORWEIN,
  ROL::SECANT_USERDEFINED, ROL::SECANT_LAST
}
 Enumeration of secant update algorithms. More...
 
enum  ROL::EKrylov {
  ROL::KRYLOV_CG = 0, ROL::KRYLOV_CR, ROL::KRYLOV_GMRES, ROL::KRYLOV_USERDEFINED,
  ROL::KRYLOV_LAST
}
 Enumeration of Krylov methods. More...
 
enum  ROL::ENonlinearCG {
  ROL::NONLINEARCG_HESTENES_STIEFEL = 0, ROL::NONLINEARCG_FLETCHER_REEVES, ROL::NONLINEARCG_DANIEL, ROL::NONLINEARCG_POLAK_RIBIERE,
  ROL::NONLINEARCG_FLETCHER_CONJDESC, ROL::NONLINEARCG_LIU_STOREY, ROL::NONLINEARCG_DAI_YUAN, ROL::NONLINEARCG_HAGER_ZHANG,
  ROL::NONLINEARCG_OREN_LUENBERGER, ROL::NONLINEARCG_LAST
}
 Enumeration of nonlinear CG algorithms. More...
 
enum  ROL::ELineSearch {
  ROL::LINESEARCH_ITERATIONSCALING = 0, ROL::LINESEARCH_PATHBASEDTARGETLEVEL, ROL::LINESEARCH_BACKTRACKING, ROL::LINESEARCH_BISECTION,
  ROL::LINESEARCH_GOLDENSECTION, ROL::LINESEARCH_CUBICINTERP, ROL::LINESEARCH_BRENTS, ROL::LINESEARCH_USERDEFINED,
  ROL::LINESEARCH_LAST
}
 Enumeration of line-search types. More...
 
enum  ROL::ECurvatureCondition {
  ROL::CURVATURECONDITION_WOLFE = 0, ROL::CURVATURECONDITION_STRONGWOLFE, ROL::CURVATURECONDITION_GENERALIZEDWOLFE, ROL::CURVATURECONDITION_APPROXIMATEWOLFE,
  ROL::CURVATURECONDITION_GOLDSTEIN, ROL::CURVATURECONDITION_NULL, ROL::CURVATURECONDITION_LAST
}
 Enumeration of line-search curvature conditions. More...
 
enum  ROL::ETrustRegion {
  ROL::TRUSTREGION_CAUCHYPOINT = 0, ROL::TRUSTREGION_TRUNCATEDCG, ROL::TRUSTREGION_DOGLEG, ROL::TRUSTREGION_DOUBLEDOGLEG,
  ROL::TRUSTREGION_LAST
}
 Enumeration of trust-region solver types. More...
 
enum  ROL::ETestObjectives {
  ROL::TESTOBJECTIVES_ROSENBROCK = 0, ROL::TESTOBJECTIVES_FREUDENSTEINANDROTH, ROL::TESTOBJECTIVES_BEALE, ROL::TESTOBJECTIVES_POWELL,
  ROL::TESTOBJECTIVES_SUMOFSQUARES, ROL::TESTOBJECTIVES_LEASTSQUARES, ROL::TESTOBJECTIVES_POISSONCONTROL, ROL::TESTOBJECTIVES_POISSONINVERSION,
  ROL::TESTOBJECTIVES_ZAKHAROV, ROL::TESTOBJECTIVES_LAST
}
 Enumeration of test objective functions. More...
 
enum  ROL::ETestOptProblem {
  ROL::TESTOPTPROBLEM_HS1 = 0, ROL::TESTOPTPROBLEM_HS2, ROL::TESTOPTPROBLEM_HS3, ROL::TESTOPTPROBLEM_HS4,
  ROL::TESTOPTPROBLEM_HS5, ROL::TESTOPTPROBLEM_HS25, ROL::TESTOPTPROBLEM_HS38, ROL::TESTOPTPROBLEM_HS45,
  ROL::TESTOPTPROBLEM_BVP, ROL::TESTOPTPROBLEM_LAST
}
 Enumeration of test optimization problems. More...
 
enum  ROL::EConstraint { ROL::CONSTRAINT_EQUALITY = 0, ROL::CONSTRAINT_INEQUALITY, ROL::CONSTRAINT_LAST }
 Enumeration of constraint types. More...
 

Functions

std::string ROL::removeStringFormat (std::string s)
 
std::string ROL::EStepToString (EStep tr)
 
int ROL::isValidStep (EStep ls)
 Verifies validity of a TrustRegion enum. More...
 
EStep & ROL::operator++ (EStep &type)
 
EStep ROL::operator++ (EStep &type, int)
 
EStep & ROL::operator-- (EStep &type)
 
EStep ROL::operator-- (EStep &type, int)
 
EStep ROL::StringToEStep (std::string s)
 
std::string ROL::EBoundAlgorithmToString (EBoundAlgorithm tr)
 
int ROL::isValidBoundAlgorithm (EBoundAlgorithm d)
 Verifies validity of a Bound Algorithm enum. More...
 
EBoundAlgorithm & ROL::operator++ (EBoundAlgorithm &type)
 
EBoundAlgorithm ROL::operator++ (EBoundAlgorithm &type, int)
 
EBoundAlgorithm & ROL::operator-- (EBoundAlgorithm &type)
 
EBoundAlgorithm ROL::operator-- (EBoundAlgorithm &type, int)
 
EBoundAlgorithm ROL::StringToEBoundAlgorithm (std::string s)
 
std::string ROL::EDescentToString (EDescent tr)
 
int ROL::isValidDescent (EDescent d)
 Verifies validity of a Secant enum. More...
 
EDescent & ROL::operator++ (EDescent &type)
 
EDescent ROL::operator++ (EDescent &type, int)
 
EDescent & ROL::operator-- (EDescent &type)
 
EDescent ROL::operator-- (EDescent &type, int)
 
EDescent ROL::StringToEDescent (std::string s)
 
std::string ROL::ESecantToString (ESecant tr)
 
int ROL::isValidSecant (ESecant s)
 Verifies validity of a Secant enum. More...
 
ESecant & ROL::operator++ (ESecant &type)
 
ESecant ROL::operator++ (ESecant &type, int)
 
ESecant & ROL::operator-- (ESecant &type)
 
ESecant ROL::operator-- (ESecant &type, int)
 
ESecant ROL::StringToESecant (std::string s)
 
std::string ROL::EKrylovToString (EKrylov tr)
 
int ROL::isValidKrylov (EKrylov d)
 Verifies validity of a Secant enum. More...
 
EKrylov & ROL::operator++ (EKrylov &type)
 
EKrylov ROL::operator++ (EKrylov &type, int)
 
EKrylov & ROL::operator-- (EKrylov &type)
 
EKrylov ROL::operator-- (EKrylov &type, int)
 
EKrylov ROL::StringToEKrylov (std::string s)
 
std::string ROL::ENonlinearCGToString (ENonlinearCG tr)
 
int ROL::isValidNonlinearCG (ENonlinearCG s)
 Verifies validity of a NonlinearCG enum. More...
 
ENonlinearCG & ROL::operator++ (ENonlinearCG &type)
 
ENonlinearCG ROL::operator++ (ENonlinearCG &type, int)
 
ENonlinearCG & ROL::operator-- (ENonlinearCG &type)
 
ENonlinearCG ROL::operator-- (ENonlinearCG &type, int)
 
ENonlinearCG ROL::StringToENonlinearCG (std::string s)
 
std::string ROL::ELineSearchToString (ELineSearch ls)
 
int ROL::isValidLineSearch (ELineSearch ls)
 Verifies validity of a LineSearch enum. More...
 
ELineSearch & ROL::operator++ (ELineSearch &type)
 
ELineSearch ROL::operator++ (ELineSearch &type, int)
 
ELineSearch & ROL::operator-- (ELineSearch &type)
 
ELineSearch ROL::operator-- (ELineSearch &type, int)
 
ELineSearch ROL::StringToELineSearch (std::string s)
 
std::string ROL::ECurvatureConditionToString (ECurvatureCondition ls)
 
int ROL::isValidCurvatureCondition (ECurvatureCondition ls)
 Verifies validity of a CurvatureCondition enum. More...
 
ECurvatureCondition & ROL::operator++ (ECurvatureCondition &type)
 
ECurvatureCondition ROL::operator++ (ECurvatureCondition &type, int)
 
ECurvatureCondition & ROL::operator-- (ECurvatureCondition &type)
 
ECurvatureCondition ROL::operator-- (ECurvatureCondition &type, int)
 
ECurvatureCondition ROL::StringToECurvatureCondition (std::string s)
 
std::string ROL::ETrustRegionToString (ETrustRegion tr)
 
int ROL::isValidTrustRegion (ETrustRegion ls)
 Verifies validity of a TrustRegion enum. More...
 
ETrustRegion & ROL::operator++ (ETrustRegion &type)
 
ETrustRegion ROL::operator++ (ETrustRegion &type, int)
 
ETrustRegion & ROL::operator-- (ETrustRegion &type)
 
ETrustRegion ROL::operator-- (ETrustRegion &type, int)
 
ETrustRegion ROL::StringToETrustRegion (std::string s)
 
std::string ROL::ETestObjectivesToString (ETestObjectives to)
 
int ROL::isValidTestObjectives (ETestObjectives to)
 Verifies validity of a TestObjectives enum. More...
 
ETestObjectives & ROL::operator++ (ETestObjectives &type)
 
ETestObjectives ROL::operator++ (ETestObjectives &type, int)
 
ETestObjectives & ROL::operator-- (ETestObjectives &type)
 
ETestObjectives ROL::operator-- (ETestObjectives &type, int)
 
ETestObjectives ROL::StringToETestObjectives (std::string s)
 
std::string ROL::ETestOptProblemToString (ETestOptProblem to)
 
int ROL::isValidTestOptProblem (ETestOptProblem to)
 Verifies validity of a TestOptProblem enum. More...
 
ETestOptProblem & ROL::operator++ (ETestOptProblem &type)
 
ETestOptProblem ROL::operator++ (ETestOptProblem &type, int)
 
ETestOptProblem & ROL::operator-- (ETestOptProblem &type)
 
ETestOptProblem ROL::operator-- (ETestOptProblem &type, int)
 
ETestOptProblem ROL::StringToETestOptProblem (std::string s)
 
std::string ROL::EConstraintToString (EConstraint c)
 
int ROL::isValidConstraint (EConstraint c)
 Verifies validity of a Secant enum. More...
 
EConstraint & ROL::operator++ (EConstraint &type)
 
EConstraint ROL::operator++ (EConstraint &type, int)
 
EConstraint & ROL::operator-- (EConstraint &type)
 
EConstraint ROL::operator-- (EConstraint &type, int)
 
EConstraint ROL::StringToEConstraint (std::string s)
 

Variables

static const double ROL::ROL_EPSILON = std::abs(Teuchos::ScalarTraits<double>::eps())
 Platform-dependent machine epsilon. More...
 
static const double ROL::ROL_THRESHOLD = 10.0 * ROL_EPSILON
 Tolerance for various equality tests. More...
 
static const double ROL::ROL_OVERFLOW = std::abs(Teuchos::ScalarTraits<double>::rmax())
 Platform-dependent maximum double. More...
 
static const double ROL::ROL_INF = 0.1*ROL_OVERFLOW
 
static const double ROL::ROL_NINF = -ROL_INF
 
static const double ROL::ROL_UNDERFLOW = std::abs(Teuchos::ScalarTraits<double>::rmin())
 Platform-dependent minimum double. More...
 
const int ROL::Finite_Difference_Arrays::shifts [4][4]
 
const double ROL::Finite_Difference_Arrays::weights [4][5]
 

Detailed Description

Contains definitions of custom data types in ROL.

Author
Created by D. Ridzal and D. Kouri.

Definition in file ROL_Types.hpp.

Macro Definition Documentation

#define ROL_VALIDATE (   A)    /* empty */

Definition at line 55 of file ROL_Types.hpp.

#define ROL_NUM_CHECKDERIV_STEPS   13