ROL
Namespaces | Classes | Enumerations | Functions | Variables
ROL Namespace Reference

Namespaces

 Finite_Difference_Arrays
 
 InteriorPoint
 
 StringList
 
 ZOO
 

Classes

class  AbsoluteValue
 
class  Algorithm
 Provides an interface to run optimization algorithms. More...
 
struct  AlgorithmState
 State for algorithm class. Will be used for restarts. More...
 
class  Arcsine
 
class  AtomVector
 Provides the std::vector implementation of the ROL::Vector interface. More...
 
class  AugmentedLagrangian
 Provides the interface to evaluate the augmented Lagrangian. More...
 
class  AugmentedLagrangianStep
 Provides the interface to compute augmented Lagrangian steps. More...
 
class  BackTracking
 Implements a simple back tracking line search. More...
 
class  BarzilaiBorwein
 Provides definitions for Barzilai-Borwein operators. More...
 
class  BatchManager
 
class  Beta
 
class  Bisection
 Implements a bisection line search. More...
 
class  BlockOperator
 Provides the interface to apply a block operator to a partitioned vector. More...
 
class  BlockOperator2
 
class  BoundConstraint
 Provides the interface to apply upper and lower bound constraints. More...
 
class  BoundConstraint_SimOpt
 
class  BoundInequalityConstraint
 Provides an implementation for bound inequality constraints. More...
 
class  BPOEObjective
 
class  Brents
 Implements a Brent's method line search. More...
 
class  Bundle
 Provides the interface for and implments a bundle. More...
 
class  Bundle_TT
 Provides the interface for and implements a bundle. The semidefinite quadratic subproblem is solved using TT algorithm by Antonio Frangioni (1996). More...
 
class  BundleStatusTest
 
class  BundleStep
 Provides the interface to compute bundle trust-region steps. More...
 
class  CArrayVector
 Provides the C array implementation of the ROL::Vector interface for use with NumPy->C Array passing by pointer. This class in intended to be used with the Python ROL interface. More...
 
class  Cauchy
 
class  CauchyPoint
 Provides interface for the Cauchy point trust-region subproblem solver. More...
 
class  CDFObjective
 
class  CompositeStep
 Implements the computation of optimization steps with composite-step trust-region methods. More...
 
class  ConjugateGradients
 Provides definitions of the Conjugate Gradient solver. More...
 
class  ConjugateResiduals
 Provides definition of the Conjugate Residual solver. More...
 
class  Constraints
 
class  ConstraintStatusTest
 Provides an interface to check status of optimization algorithms for problems with equality constraints. More...
 
class  CplxStdVector
 Variant on ROL::StdVector with complex entries. Perhaps this can be accomplished with partial template specialization of ROL::StdVector instead? More...
 
class  CubicInterp
 Implements cubic interpolation back tracking line search. More...
 
class  CVaR
 
class  DiagonalOperator
 Provides the interface to apply a diagonal operator which acts like elementwise multiplication when apply() is used and elementwise division when applyInverse() is used. More...
 
class  Dirac
 
class  Distribution
 
class  DogLeg
 Provides interface for dog leg trust-region subproblem solver. More...
 
class  DoubleDogLeg
 Provides interface for the double dog leg trust-region subproblem solver. More...
 
class  DualAtomVector
 
class  DualProbabilityVector
 
class  DualScaledStdVector
 Provides the std::vector implementation of the ROL::Vector interface that handles scalings in the inner product. Also see ROL::PrimalScaledStdVector. More...
 
class  EqualityConstraint
 Defines the equality constraint operator interface. More...
 
class  EqualityConstraint_SimOpt
 Defines the equality constraint operator interface for simulation-based optimization. More...
 
class  ExpectationQuad
 
class  Exponential
 
class  ExpUtility
 
class  Gamma
 
class  Gaussian
 
class  GMRES
 Preconditioned GMRES solver. More...
 
class  GoldenSection
 Implements a golden section line search. More...
 
class  HMCR
 
class  HMCRObjective
 
class  InequalityConstraint
 Provides a unique argument for inequality constraints, which otherwise behave exactly as equality constraints. More...
 
class  InteriorPointStep
 
class  IterationScaling
 Provides an implementation of iteration scaled line search. More...
 
class  KLDivergence
 
class  Krylov
 Provides definitions for Krylov solvers. More...
 
class  Kumaraswamy
 
class  Laplace
 
class  lBFGS
 Provides definitions for limited-memory BFGS operators. More...
 
class  lDFP
 Provides definitions for limited-memory DFP operators. More...
 
class  LinearCombinationObjective
 
class  LinearObjective
 Provides the interface to evaluate linear objective functions. More...
 
class  LinearOperator
 Provides the interface to apply a linear operator. More...
 
class  LineSearch
 Provides interface for and implements line searches. More...
 
class  LineSearchStep
 Provides the interface to compute optimization steps with line search. More...
 
class  LogBarrierObjective
 Log barrier objective for interior point methods. More...
 
class  LogExponentialQuadrangle
 
class  Logistic
 
class  LogQuantileQuadrangle
 
class  LowerBoundInequalityConstraint
 Provides an implementation for lower bound inequality constraints. More...
 
class  lSR1
 Provides definitions for limited-memory SR1 operators. More...
 
class  MeanDeviation
 
class  MeanDeviationFromTarget
 
class  MeanVariance
 
class  MeanVarianceFromTarget
 
class  Minimax1
 
class  Minimax2
 
class  Minimax3
 
class  MixedQuantileQuadrangle
 
class  MomentObjective
 
class  MonteCarloGenerator
 
class  MoreauYosidaCVaR
 
class  MoreauYosidaPenalty
 Provides the interface to evaluate the Moreau-Yosida penalty function. More...
 
class  MoreauYosidaPenaltyStep
 Implements the computation of optimization steps using Moreau-Yosida regularized bound constraints. More...
 
class  MultiVector
 Provides a container and operations on multiple ROL vectors for use with other Trilinos packages which require multivectors. More...
 
class  MultiVectorDefault
 Default implementation of the ROL::MultiVector container class. More...
 
class  Objective
 Provides the interface to evaluate objective functions. More...
 
class  Objective_SimOpt
 Provides the interface to evaluate simulation-based objective functions. More...
 
class  ObjectiveFromBoundConstraint
 Create a logarithmic penalty objective from upper and lower bound vectors. More...
 
class  OptimizationProblem
 
class  Parabolic
 
class  ParametrizedEqualityConstraint
 
class  ParametrizedEqualityConstraint_SimOpt
 
class  ParametrizedObjective
 
class  ParametrizedObjective_SimOpt
 
class  PartitionedVector
 Defines the linear algebra of vector space on a generic partitioned vector. More...
 
class  PathBasedTargetLevel
 Provides an implementation of path-based target leve line search. More...
 
class  PenalizedObjective
 Adds barrier term to generic objective. More...
 
class  PlusFunction
 
class  PointwiseCDFObjective
 
class  PositiveFunction
 
class  PrimalAtomVector
 
class  PrimalDualActiveSetStep
 Implements the computation of optimization steps with the Newton primal-dual active set method. More...
 
class  PrimalDualHessian
 
class  PrimalDualPreconditioner
 
class  PrimalProbabilityVector
 
class  PrimalScaledStdVector
 Provides the std::vector implementation of the ROL::Vector interface that handles scalings in the inner product. Also see ROL::DualScaledStdVector. More...
 
class  ProbabilityVector
 Provides the std::vector implementation of the ROL::Vector interface. More...
 
class  ProjectedHessian
 
class  ProjectedObjective
 
class  ProjectedPreconditioner
 
class  QuantileQuadrangle
 
class  QuantileRadiusQuadrangle
 
class  RaisedCosine
 
class  Reduced_Objective_SimOpt
 Provides the interface to evaluate simulation-based reduced objective functions. More...
 
class  Reduced_ParametrizedObjective_SimOpt
 
struct  removeSpecialCharacters
 
class  RiskAverseObjective
 
class  RiskBoundConstraint
 
class  RiskMeasure
 
class  RiskNeutralObjective
 
class  RiskVector
 
class  SampleGenerator
 
class  ScalarLinearEqualityConstraint
 This equality constraint defines an affine hyperplane. More...
 
class  Secant
 Provides interface for and implements limited-memory secant operators. More...
 
struct  SecantState
 
class  Smale
 
class  SROMGenerator
 
class  SROMVector
 Provides the std::vector implementation of the ROL::Vector interface. More...
 
class  StatusTest
 Provides an interface to check status of optimization algorithms. More...
 
class  StatusTestFactory
 
class  StdBoundConstraint
 
class  StdTeuchosBatchManager
 
class  StdVector
 Provides the std::vector implementation of the ROL::Vector interface. More...
 
class  Step
 Provides the interface to compute optimization steps. More...
 
class  StepFactory
 
struct  StepState
 State for step class. Will be used for restarts. More...
 
class  StochasticProblem
 
class  TeuchosBatchManager
 
class  Triangle
 
class  TruncatedCG
 Provides interface for truncated CG trust-region subproblem solver. More...
 
class  TruncatedExponential
 
class  TruncatedGaussian
 
class  TruncatedMeanQuadrangle
 
class  TrustRegion
 Provides interface for and implements trust-region subproblem solvers. More...
 
class  TrustRegionStep
 Provides the interface to compute optimization steps with trust regions. More...
 
class  Uniform
 
class  UpperBoundInequalityConstraint
 Provides an implementation for upper bound inequality constraints. More...
 
class  UserInputGenerator
 
class  Vector
 Defines the linear algebra or vector space interface. More...
 
class  Vector_SimOpt
 Defines the linear algebra or vector space interface for simulation-based optimization. More...
 

Enumerations

enum  EDistribution {
  DISTRIBUTION_ARCSINE = 0, DISTRIBUTION_BETA, DISTRIBUTION_CAUCHY, DISTRIBUTION_DIRAC,
  DISTRIBUTION_EXPONENTIAL, DISTRIBUTION_GAMMA, DISTRIBUTION_GAUSSIAN, DISTRIBUTION_KUMARASWAMY,
  DISTRIBUTION_LAPLACE, DISTRIBUTION_LOGISTIC, DISTRIBUTION_PARABOLIC, DISTRIBUTION_RAISEDCOSINE,
  DISTRIBUTION_SMALE, DISTRIBUTION_TRIANGLE, DISTRIBUTION_TRUNCATEDEXPONENTIAL, DISTRIBUTION_TRUNCATEDGAUSSIAN,
  DISTRIBUTION_UNIFORM, DISTRIBUTION_LAST
}
 
enum  ERiskMeasure {
  RISKMEASURE_CVAR = 0, RISKMEASURE_EXPUTILITY, RISKMEASURE_HMCR, RISKMEASURE_KLDIVERGENCE,
  RISKMEASURE_MEANDEVIATIONFROMTARGET, RISKMEASURE_MEANDEVIATION, RISKMEASURE_MEANVARIANCEFROMTARGET, RISKMEASURE_MEANVARIANCE,
  RISKMEASURE_MOREAUYOSIDACVAR, RISKMEASURE_LOGEXPONENTIALQUADRANGLE, RISKMEASURE_LOGQUANTILEQUADRANGLE, RISKMEASURE_MIXEDQUANTILEQUADRANGLE,
  RISKMEASURE_QUANTILEQUADRANGLE, RISKMEASURE_QUANTILERADIUSQUADRANGLE, RISKMEASURE_TRUNCATEDMEANQUADRANGLE, RISKMEASURE_LAST
}
 
enum  EAbsoluteValue {
  ABSOLUTEVALUE_TRUE = 0, ABSOLUTEVALUE_SQUAREROOT, ABSOLUTEVALUE_SQRTDENOM, ABSOLUTEVALUE_C2,
  ABSOLUTEVALUE_LAST
}
 
enum  EStep {
  STEP_AUGMENTEDLAGRANGIAN = 0, STEP_BUNDLE, STEP_COMPOSITESTEP, STEP_LINESEARCH,
  STEP_MOREAUYOSIDAPENALTY, STEP_PRIMALDUALACTIVESET, STEP_TRUSTREGION, STEP_INTERIORPOINT,
  STEP_LAST
}
 Enumeration of step types. More...
 
enum  EBoundAlgorithm { BOUNDALGORITHM_PROJECTED = 0, BOUNDALGORITHM_PRIMALDUALACTIVESET, BOUNDALGORITHM_INTERIORPOINTS, BOUNDALGORITHM_LAST }
 Enumeration of algorithms to handle bound constraints. More...
 
enum  EDescent {
  DESCENT_STEEPEST = 0, DESCENT_NONLINEARCG, DESCENT_SECANT, DESCENT_NEWTON,
  DESCENT_NEWTONKRYLOV, DESCENT_LAST
}
 Enumeration of descent direction types. More...
 
enum  ESecant {
  SECANT_LBFGS = 0, SECANT_LDFP, SECANT_LSR1, SECANT_BARZILAIBORWEIN,
  SECANT_USERDEFINED, SECANT_LAST
}
 Enumeration of secant update algorithms. More...
 
enum  EKrylov {
  KRYLOV_CG = 0, KRYLOV_CR, KRYLOV_GMRES, KRYLOV_USERDEFINED,
  KRYLOV_LAST
}
 Enumeration of Krylov methods. More...
 
enum  ENonlinearCG {
  NONLINEARCG_HESTENES_STIEFEL = 0, NONLINEARCG_FLETCHER_REEVES, NONLINEARCG_DANIEL, NONLINEARCG_POLAK_RIBIERE,
  NONLINEARCG_FLETCHER_CONJDESC, NONLINEARCG_LIU_STOREY, NONLINEARCG_DAI_YUAN, NONLINEARCG_HAGER_ZHANG,
  NONLINEARCG_OREN_LUENBERGER, NONLINEARCG_LAST
}
 Enumeration of nonlinear CG algorithms. More...
 
enum  ELineSearch {
  LINESEARCH_ITERATIONSCALING = 0, LINESEARCH_PATHBASEDTARGETLEVEL, LINESEARCH_BACKTRACKING, LINESEARCH_BISECTION,
  LINESEARCH_GOLDENSECTION, LINESEARCH_CUBICINTERP, LINESEARCH_BRENTS, LINESEARCH_USERDEFINED,
  LINESEARCH_LAST
}
 Enumeration of line-search types. More...
 
enum  ECurvatureCondition {
  CURVATURECONDITION_WOLFE = 0, CURVATURECONDITION_STRONGWOLFE, CURVATURECONDITION_GENERALIZEDWOLFE, CURVATURECONDITION_APPROXIMATEWOLFE,
  CURVATURECONDITION_GOLDSTEIN, CURVATURECONDITION_NULL, CURVATURECONDITION_LAST
}
 Enumeration of line-search curvature conditions. More...
 
enum  ETrustRegion {
  TRUSTREGION_CAUCHYPOINT = 0, TRUSTREGION_TRUNCATEDCG, TRUSTREGION_DOGLEG, TRUSTREGION_DOUBLEDOGLEG,
  TRUSTREGION_LAST
}
 Enumeration of trust-region solver types. More...
 
enum  ETestObjectives {
  TESTOBJECTIVES_ROSENBROCK = 0, TESTOBJECTIVES_FREUDENSTEINANDROTH, TESTOBJECTIVES_BEALE, TESTOBJECTIVES_POWELL,
  TESTOBJECTIVES_SUMOFSQUARES, TESTOBJECTIVES_LEASTSQUARES, TESTOBJECTIVES_POISSONCONTROL, TESTOBJECTIVES_POISSONINVERSION,
  TESTOBJECTIVES_ZAKHAROV, TESTOBJECTIVES_LAST
}
 Enumeration of test objective functions. More...
 
enum  ETestOptProblem {
  TESTOPTPROBLEM_HS1 = 0, TESTOPTPROBLEM_HS2, TESTOPTPROBLEM_HS3, TESTOPTPROBLEM_HS4,
  TESTOPTPROBLEM_HS5, TESTOPTPROBLEM_HS25, TESTOPTPROBLEM_HS38, TESTOPTPROBLEM_HS45,
  TESTOPTPROBLEM_BVP, TESTOPTPROBLEM_LAST
}
 Enumeration of test optimization problems. More...
 
enum  EConstraint { CONSTRAINT_EQUALITY = 0, CONSTRAINT_INEQUALITY, CONSTRAINT_LAST }
 Enumeration of constraint types. More...
 

Functions

template<class Real >
Teuchos::RCP< Vector< Real > > CreatePartitionedVector (const Teuchos::RCP< Vector< Real > > &a)
 
template<class Real >
Teuchos::RCP< const Vector< Real > > CreatePartitionedVector (const Teuchos::RCP< const Vector< Real > > &a)
 
template<class Real >
Teuchos::RCP< Vector< Real > > CreatePartitionedVector (const Teuchos::RCP< Vector< Real > > &a, const Teuchos::RCP< Vector< Real > > &b)
 
template<class Real >
Teuchos::RCP< const Vector< Real > > CreatePartitionedVector (const Teuchos::RCP< const Vector< Real > > &a, const Teuchos::RCP< const Vector< Real > > &b)
 
template<class Real >
Teuchos::RCP< Vector< Real > > CreatePartitionedVector (const Teuchos::RCP< Vector< Real > > &a, const Teuchos::RCP< Vector< Real > > &b, const Teuchos::RCP< Vector< Real > > &c)
 
template<class Real >
Teuchos::RCP< const Vector< Real > > CreatePartitionedVector (const Teuchos::RCP< const Vector< Real > > &a, const Teuchos::RCP< const Vector< Real > > &b, const Teuchos::RCP< const Vector< Real > > &c)
 
template<class Real >
Teuchos::RCP< Vector< Real > > CreatePartitionedVector (const Teuchos::RCP< Vector< Real > > &a, const Teuchos::RCP< Vector< Real > > &b, const Teuchos::RCP< Vector< Real > > &c, const Teuchos::RCP< Vector< Real > > &d)
 
template<class Real >
Teuchos::RCP< const Vector< Real > > CreatePartitionedVector (const Teuchos::RCP< const Vector< Real > > &a, const Teuchos::RCP< const Vector< Real > > &b, const Teuchos::RCP< const Vector< Real > > &c, const Teuchos::RCP< const Vector< Real > > &d)
 
template<class Real >
void RandomizeVector (Vector< Real > &x, const Real &lower=0.0, const Real &upper=1.0)
 Fill a ROL::Vector with uniformly-distributed random numbers in the interval [lower,upper]. More...
 
template<class Real >
Teuchos::RCP< Krylov< Real > > KrylovFactory (Teuchos::ParameterList &parlist)
 
template<class Real >
Teuchos::RCP< LineSearch< Real > > LineSearchFactory (Teuchos::ParameterList &parlist)
 
template<class Real >
Teuchos::RCP< Secant< Real > > getSecant (ESecant esec=SECANT_LBFGS, int L=10, int BBtype=1)
 
template<class Real >
Teuchos::RCP< Secant< Real > > SecantFactory (Teuchos::ParameterList &parlist)
 
template<class Real >
Teuchos::RCP< TrustRegion< Real > > TrustRegionFactory (Teuchos::ParameterList &parlist)
 
std::string EDistributionToString (EDistribution ed)
 
int isValidDistribution (EDistribution ed)
 
EDistributionoperator++ (EDistribution &type)
 
EDistribution operator++ (EDistribution &type, int)
 
EDistributionoperator-- (EDistribution &type)
 
EDistribution operator-- (EDistribution &type, int)
 
EDistribution StringToEDistribution (std::string s)
 
template<class Real >
Teuchos::RCP< Distribution< Real > > DistributionFactory (Teuchos::ParameterList &parlist)
 
std::string ERiskMeasureToString (ERiskMeasure ed)
 
int isValidRiskMeasure (ERiskMeasure ed)
 
ERiskMeasureoperator++ (ERiskMeasure &type)
 
ERiskMeasure operator++ (ERiskMeasure &type, int)
 
ERiskMeasureoperator-- (ERiskMeasure &type)
 
ERiskMeasure operator-- (ERiskMeasure &type, int)
 
ERiskMeasure StringToERiskMeasure (std::string s)
 
template<class Real >
Teuchos::RCP< RiskMeasure< Real > > RiskMeasureFactory (Teuchos::ParameterList &parlist)
 
template<class Real >
Teuchos::SerialDenseMatrix< int, Real > computeDenseHessian (Objective< Real > &obj, const Vector< Real > &x)
 
template<class Real >
Teuchos::SerialDenseMatrix< int, Real > computeDotMatrix (const Vector< Real > &x)
 
template<class Real >
std::vector< std::vector< Real > > computeEigenvalues (const Teuchos::SerialDenseMatrix< int, Real > &mat)
 
template<class Real >
std::vector< std::vector< Real > > computeGenEigenvalues (const Teuchos::SerialDenseMatrix< int, Real > &A, const Teuchos::SerialDenseMatrix< int, Real > &B)
 
template<class Real >
Teuchos::SerialDenseMatrix< int, Real > computeInverse (const Teuchos::SerialDenseMatrix< int, Real > &mat)
 
template<class ParameterType >
void setParameter (Teuchos::ParameterList &parlist, const std::vector< std::string > &location, const std::vector< std::string >::iterator iter, ParameterType value)
 
void tierParameterList (Teuchos::ParameterList &outList, const Teuchos::ParameterList &inList)
 Produce a heirarchical parameter list using the new names from a flat list of the old names. More...
 
template<class Real >
void getTestObjectives (Teuchos::RCP< Objective< Real > > &obj, Teuchos::RCP< Vector< Real > > &x0, Teuchos::RCP< Vector< Real > > &x, const ETestObjectives test)
 
template<class Real >
void getTestObjectives (Teuchos::RCP< Objective< Real > > &obj, Teuchos::RCP< BoundConstraint< Real > > &con, Teuchos::RCP< Vector< Real > > &x0, Teuchos::RCP< Vector< Real > > &x, const ETestOptProblem test)
 
std::string removeStringFormat (std::string s)
 
std::string EStepToString (EStep tr)
 
int isValidStep (EStep ls)
 Verifies validity of a TrustRegion enum. More...
 
EStepoperator++ (EStep &type)
 
EStep operator++ (EStep &type, int)
 
EStepoperator-- (EStep &type)
 
EStep operator-- (EStep &type, int)
 
EStep StringToEStep (std::string s)
 
std::string EBoundAlgorithmToString (EBoundAlgorithm tr)
 
int isValidBoundAlgorithm (EBoundAlgorithm d)
 Verifies validity of a Bound Algorithm enum. More...
 
EBoundAlgorithmoperator++ (EBoundAlgorithm &type)
 
EBoundAlgorithm operator++ (EBoundAlgorithm &type, int)
 
EBoundAlgorithmoperator-- (EBoundAlgorithm &type)
 
EBoundAlgorithm operator-- (EBoundAlgorithm &type, int)
 
EBoundAlgorithm StringToEBoundAlgorithm (std::string s)
 
std::string EDescentToString (EDescent tr)
 
int isValidDescent (EDescent d)
 Verifies validity of a Secant enum. More...
 
EDescentoperator++ (EDescent &type)
 
EDescent operator++ (EDescent &type, int)
 
EDescentoperator-- (EDescent &type)
 
EDescent operator-- (EDescent &type, int)
 
EDescent StringToEDescent (std::string s)
 
std::string ESecantToString (ESecant tr)
 
int isValidSecant (ESecant s)
 Verifies validity of a Secant enum. More...
 
ESecantoperator++ (ESecant &type)
 
ESecant operator++ (ESecant &type, int)
 
ESecantoperator-- (ESecant &type)
 
ESecant operator-- (ESecant &type, int)
 
ESecant StringToESecant (std::string s)
 
std::string EKrylovToString (EKrylov tr)
 
int isValidKrylov (EKrylov d)
 Verifies validity of a Secant enum. More...
 
EKrylovoperator++ (EKrylov &type)
 
EKrylov operator++ (EKrylov &type, int)
 
EKrylovoperator-- (EKrylov &type)
 
EKrylov operator-- (EKrylov &type, int)
 
EKrylov StringToEKrylov (std::string s)
 
std::string ENonlinearCGToString (ENonlinearCG tr)
 
int isValidNonlinearCG (ENonlinearCG s)
 Verifies validity of a NonlinearCG enum. More...
 
ENonlinearCGoperator++ (ENonlinearCG &type)
 
ENonlinearCG operator++ (ENonlinearCG &type, int)
 
ENonlinearCGoperator-- (ENonlinearCG &type)
 
ENonlinearCG operator-- (ENonlinearCG &type, int)
 
ENonlinearCG StringToENonlinearCG (std::string s)
 
std::string ELineSearchToString (ELineSearch ls)
 
int isValidLineSearch (ELineSearch ls)
 Verifies validity of a LineSearch enum. More...
 
ELineSearchoperator++ (ELineSearch &type)
 
ELineSearch operator++ (ELineSearch &type, int)
 
ELineSearchoperator-- (ELineSearch &type)
 
ELineSearch operator-- (ELineSearch &type, int)
 
ELineSearch StringToELineSearch (std::string s)
 
std::string ECurvatureConditionToString (ECurvatureCondition ls)
 
int isValidCurvatureCondition (ECurvatureCondition ls)
 Verifies validity of a CurvatureCondition enum. More...
 
ECurvatureConditionoperator++ (ECurvatureCondition &type)
 
ECurvatureCondition operator++ (ECurvatureCondition &type, int)
 
ECurvatureConditionoperator-- (ECurvatureCondition &type)
 
ECurvatureCondition operator-- (ECurvatureCondition &type, int)
 
ECurvatureCondition StringToECurvatureCondition (std::string s)
 
std::string ETrustRegionToString (ETrustRegion tr)
 
int isValidTrustRegion (ETrustRegion ls)
 Verifies validity of a TrustRegion enum. More...
 
ETrustRegionoperator++ (ETrustRegion &type)
 
ETrustRegion operator++ (ETrustRegion &type, int)
 
ETrustRegionoperator-- (ETrustRegion &type)
 
ETrustRegion operator-- (ETrustRegion &type, int)
 
ETrustRegion StringToETrustRegion (std::string s)
 
std::string ETestObjectivesToString (ETestObjectives to)
 
int isValidTestObjectives (ETestObjectives to)
 Verifies validity of a TestObjectives enum. More...
 
ETestObjectivesoperator++ (ETestObjectives &type)
 
ETestObjectives operator++ (ETestObjectives &type, int)
 
ETestObjectivesoperator-- (ETestObjectives &type)
 
ETestObjectives operator-- (ETestObjectives &type, int)
 
ETestObjectives StringToETestObjectives (std::string s)
 
std::string ETestOptProblemToString (ETestOptProblem to)
 
int isValidTestOptProblem (ETestOptProblem to)
 Verifies validity of a TestOptProblem enum. More...
 
ETestOptProblemoperator++ (ETestOptProblem &type)
 
ETestOptProblem operator++ (ETestOptProblem &type, int)
 
ETestOptProblemoperator-- (ETestOptProblem &type)
 
ETestOptProblem operator-- (ETestOptProblem &type, int)
 
ETestOptProblem StringToETestOptProblem (std::string s)
 
std::string EConstraintToString (EConstraint c)
 
int isValidConstraint (EConstraint c)
 Verifies validity of a Secant enum. More...
 
EConstraintoperator++ (EConstraint &type)
 
EConstraint operator++ (EConstraint &type, int)
 
EConstraintoperator-- (EConstraint &type)
 
EConstraint operator-- (EConstraint &type, int)
 
EConstraint StringToEConstraint (std::string s)
 
void addJSONBlockToPL (const Json::Value &block, Teuchos::ParameterList &parlist)
 Iterate over a block and insert key-value pairs into the Teuchos::ParameterList. More...
 
void addJSONPairToPL (const Json::Value &block, const std::string &key, Teuchos::ParameterList &parlist)
 Given a JSON block and a key, get the value and insert the key-value pair into a Teuchos::ParameterList. If the value is itself a block, recursively iterate. More...
 
void JSON_Parameters (const std::string &jsonFileName, Teuchos::ParameterList &parlist)
 Read a JSON file and store all parameters in a Teuchos::ParameterList. Checks for a key called "Algorithm" which has a string value which can specify a Step Type (Linesearch or Trust-Region) and either a Descent Type or a Trust-Region Subproblem Solver Type. More...
 
template<class Real >
void stepFactory (Teuchos::ParameterList &parlist, Teuchos::RCP< ROL::Step< Real > > &step)
 A minimalist step factory which specializes the Step Type depending on whether a Trust-Region or Linesearch has been selected. More...
 

Variables

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

Enumeration Type Documentation

Enumerator
DISTRIBUTION_ARCSINE 
DISTRIBUTION_BETA 
DISTRIBUTION_CAUCHY 
DISTRIBUTION_DIRAC 
DISTRIBUTION_EXPONENTIAL 
DISTRIBUTION_GAMMA 
DISTRIBUTION_GAUSSIAN 
DISTRIBUTION_KUMARASWAMY 
DISTRIBUTION_LAPLACE 
DISTRIBUTION_LOGISTIC 
DISTRIBUTION_PARABOLIC 
DISTRIBUTION_RAISEDCOSINE 
DISTRIBUTION_SMALE 
DISTRIBUTION_TRIANGLE 
DISTRIBUTION_TRUNCATEDEXPONENTIAL 
DISTRIBUTION_TRUNCATEDGAUSSIAN 
DISTRIBUTION_UNIFORM 
DISTRIBUTION_LAST 

Definition at line 69 of file ROL_DistributionFactory.hpp.

Enumerator
RISKMEASURE_CVAR 
RISKMEASURE_EXPUTILITY 
RISKMEASURE_HMCR 
RISKMEASURE_KLDIVERGENCE 
RISKMEASURE_MEANDEVIATIONFROMTARGET 
RISKMEASURE_MEANDEVIATION 
RISKMEASURE_MEANVARIANCEFROMTARGET 
RISKMEASURE_MEANVARIANCE 
RISKMEASURE_MOREAUYOSIDACVAR 
RISKMEASURE_LOGEXPONENTIALQUADRANGLE 
RISKMEASURE_LOGQUANTILEQUADRANGLE 
RISKMEASURE_MIXEDQUANTILEQUADRANGLE 
RISKMEASURE_QUANTILEQUADRANGLE 
RISKMEASURE_QUANTILERADIUSQUADRANGLE 
RISKMEASURE_TRUNCATEDMEANQUADRANGLE 
RISKMEASURE_LAST 

Definition at line 72 of file ROL_RiskMeasureFactory.hpp.

Enumerator
ABSOLUTEVALUE_TRUE 
ABSOLUTEVALUE_SQUAREROOT 
ABSOLUTEVALUE_SQRTDENOM 
ABSOLUTEVALUE_C2 
ABSOLUTEVALUE_LAST 

Definition at line 52 of file ROL_AbsoluteValue.hpp.

enum ROL::EStep

Enumeration of step types.

  • AUGMENTEDLAGRANGIAN describe
  • BUNDLE describe
  • COMPOSITESTEP describe
  • LINESEARCH describe
  • MOREAUYOSIDAPENALTY describe
  • PRIMALDUALACTIVESET describe
  • TRUSTREGION describe
Enumerator
STEP_AUGMENTEDLAGRANGIAN 
STEP_BUNDLE 
STEP_COMPOSITESTEP 
STEP_LINESEARCH 
STEP_MOREAUYOSIDAPENALTY 
STEP_PRIMALDUALACTIVESET 
STEP_TRUSTREGION 
STEP_INTERIORPOINT 
STEP_LAST 

Definition at line 159 of file ROL_Types.hpp.

Enumeration of algorithms to handle bound constraints.

  • PROJECTED describe
  • PRIMALDUALACTIVESET describe
  • INTERIORPOINTS describe
Enumerator
BOUNDALGORITHM_PROJECTED 
BOUNDALGORITHM_PRIMALDUALACTIVESET 
BOUNDALGORITHM_INTERIORPOINTS 
BOUNDALGORITHM_LAST 

Definition at line 241 of file ROL_Types.hpp.

Enumeration of descent direction types.

  • STEEPEST describe
  • NONLINEARCG describe
  • SECANT describe
  • NEWTON describe
  • NEWTONKRYLOV describe
  • SECANTPRECOND describe
Enumerator
DESCENT_STEEPEST 
DESCENT_NONLINEARCG 
DESCENT_SECANT 
DESCENT_NEWTON 
DESCENT_NEWTONKRYLOV 
DESCENT_LAST 

Definition at line 312 of file ROL_Types.hpp.

Enumeration of secant update algorithms.

  • LBFGS describe
  • LDFP describe
  • LSR1 describe
  • BARZILAIBORWEIN describe
Enumerator
SECANT_LBFGS 
SECANT_LDFP 
SECANT_LSR1 
SECANT_BARZILAIBORWEIN 
SECANT_USERDEFINED 
SECANT_LAST 

Definition at line 387 of file ROL_Types.hpp.

Enumeration of Krylov methods.

  • CG describe
  • CR describe
Enumerator
KRYLOV_CG 
KRYLOV_CR 
KRYLOV_GMRES 
KRYLOV_USERDEFINED 
KRYLOV_LAST 

Definition at line 460 of file ROL_Types.hpp.

Enumeration of nonlinear CG algorithms.

  • HESTENES_STIEFEL \( \frac{g_{k+1}^\top y_k}{d_k^\top y_k } \)
  • FLETCHER_REEVES \( \frac{\|g_{k+1}\|^2}{\|g_k\|^2} \)
  • DANIEL \( \frac{g_{k+1}^\top \nabla^2 f(x_k) d_k}{d_k^\top \nabla^2 f(x_k) d_k} \)
  • POLAK_RIBIERE \( \frac{g_{k+1}^\top y_k}{\|g_k\|^2} \)
  • FLETCHER_CONJDESC \( -\frac{\|g_{k+1}\|^2}{d_k^\top g_k} \)
  • LIU_STOREY \( -\frac{g_k^\top y_{k-1} }{d_{k-1}^\top g_{k-1} \)
  • DAI_YUAN \( \frac{\|g_{k+1}\|^2}{d_k^\top y_k} \)
  • HAGER_ZHANG \( \frac{g_{k+1}^\top y_k}{d_k^\top y_k} - 2 \frac{\|y_k\|^2}{d_k^\top y_k} \frac{g_{k+1}^\top d_k}{d_k^\top y_k} \)
  • OREN_LUENBERGER \( \frac{g_{k+1}^\top y_k}{d_k^\top y_k} - \frac{\|y_k\|^2}{d_k^\top y_k} \frac{g_{k+1}^\top d_k}{d_k^\top y_k} \)
Enumerator
NONLINEARCG_HESTENES_STIEFEL 
NONLINEARCG_FLETCHER_REEVES 
NONLINEARCG_DANIEL 
NONLINEARCG_POLAK_RIBIERE 
NONLINEARCG_FLETCHER_CONJDESC 
NONLINEARCG_LIU_STOREY 
NONLINEARCG_DAI_YUAN 
NONLINEARCG_HAGER_ZHANG 
NONLINEARCG_OREN_LUENBERGER 
NONLINEARCG_LAST 

Definition at line 536 of file ROL_Types.hpp.

Enumeration of line-search types.

  • BACKTRACKING describe
  • BISECTION describe
  • GOLDENSECTION describe
  • CUBICINTERP describe
  • BRENTS describe
  • USERDEFINED describe
Enumerator
LINESEARCH_ITERATIONSCALING 
LINESEARCH_PATHBASEDTARGETLEVEL 
LINESEARCH_BACKTRACKING 
LINESEARCH_BISECTION 
LINESEARCH_GOLDENSECTION 
LINESEARCH_CUBICINTERP 
LINESEARCH_BRENTS 
LINESEARCH_USERDEFINED 
LINESEARCH_LAST 

Definition at line 625 of file ROL_Types.hpp.

Enumeration of line-search curvature conditions.

  • WOLFE describe
  • STRONGWOLFE describe
  • GOLDSTEIN describe
Enumerator
CURVATURECONDITION_WOLFE 
CURVATURECONDITION_STRONGWOLFE 
CURVATURECONDITION_GENERALIZEDWOLFE 
CURVATURECONDITION_APPROXIMATEWOLFE 
CURVATURECONDITION_GOLDSTEIN 
CURVATURECONDITION_NULL 
CURVATURECONDITION_LAST 

Definition at line 708 of file ROL_Types.hpp.

Enumeration of trust-region solver types.

  • CAUCHYPOINT describe
  • TRUNCATEDCG describe
  • DOGLEG describe
  • DOUBLEDOGLEG describe
Enumerator
TRUSTREGION_CAUCHYPOINT 
TRUSTREGION_TRUNCATEDCG 
TRUSTREGION_DOGLEG 
TRUSTREGION_DOUBLEDOGLEG 
TRUSTREGION_LAST 

Definition at line 786 of file ROL_Types.hpp.

Enumeration of test objective functions.

  • ROSENBROCK describe
  • FREUDENSTEINANDROTH describe
  • POWELL describe
  • SUMOFSQUARES describe
  • LEASTSQUARES describe
Enumerator
TESTOBJECTIVES_ROSENBROCK 
TESTOBJECTIVES_FREUDENSTEINANDROTH 
TESTOBJECTIVES_BEALE 
TESTOBJECTIVES_POWELL 
TESTOBJECTIVES_SUMOFSQUARES 
TESTOBJECTIVES_LEASTSQUARES 
TESTOBJECTIVES_POISSONCONTROL 
TESTOBJECTIVES_POISSONINVERSION 
TESTOBJECTIVES_ZAKHAROV 
TESTOBJECTIVES_LAST 

Definition at line 859 of file ROL_Types.hpp.

Enumeration of test optimization problems.

  • HS1 describe
  • HS2 describe
  • HS3 describe
  • HS4 describe
  • HS5 describe
  • HS25 describe
Enumerator
TESTOPTPROBLEM_HS1 
TESTOPTPROBLEM_HS2 
TESTOPTPROBLEM_HS3 
TESTOPTPROBLEM_HS4 
TESTOPTPROBLEM_HS5 
TESTOPTPROBLEM_HS25 
TESTOPTPROBLEM_HS38 
TESTOPTPROBLEM_HS45 
TESTOPTPROBLEM_BVP 
TESTOPTPROBLEM_LAST 

Definition at line 948 of file ROL_Types.hpp.

Enumeration of constraint types.

  • EQUALITY describe
  • INEQUALITY describe
Enumerator
CONSTRAINT_EQUALITY 
CONSTRAINT_INEQUALITY 
CONSTRAINT_LAST 

Definition at line 1033 of file ROL_Types.hpp.

Function Documentation

template<class Real >
Teuchos::RCP<Vector<Real> > ROL::CreatePartitionedVector ( const Teuchos::RCP< Vector< Real > > &  a)
template<class Real >
Teuchos::RCP<const Vector<Real> > ROL::CreatePartitionedVector ( const Teuchos::RCP< const Vector< Real > > &  a)

Definition at line 290 of file ROL_PartitionedVector.hpp.

template<class Real >
Teuchos::RCP<Vector<Real> > ROL::CreatePartitionedVector ( const Teuchos::RCP< Vector< Real > > &  a,
const Teuchos::RCP< Vector< Real > > &  b 
)

Definition at line 301 of file ROL_PartitionedVector.hpp.

template<class Real >
Teuchos::RCP<const Vector<Real> > ROL::CreatePartitionedVector ( const Teuchos::RCP< const Vector< Real > > &  a,
const Teuchos::RCP< const Vector< Real > > &  b 
)

Definition at line 313 of file ROL_PartitionedVector.hpp.

template<class Real >
Teuchos::RCP<Vector<Real> > ROL::CreatePartitionedVector ( const Teuchos::RCP< Vector< Real > > &  a,
const Teuchos::RCP< Vector< Real > > &  b,
const Teuchos::RCP< Vector< Real > > &  c 
)

Definition at line 325 of file ROL_PartitionedVector.hpp.

template<class Real >
Teuchos::RCP<const Vector<Real> > ROL::CreatePartitionedVector ( const Teuchos::RCP< const Vector< Real > > &  a,
const Teuchos::RCP< const Vector< Real > > &  b,
const Teuchos::RCP< const Vector< Real > > &  c 
)

Definition at line 338 of file ROL_PartitionedVector.hpp.

template<class Real >
Teuchos::RCP<Vector<Real> > ROL::CreatePartitionedVector ( const Teuchos::RCP< Vector< Real > > &  a,
const Teuchos::RCP< Vector< Real > > &  b,
const Teuchos::RCP< Vector< Real > > &  c,
const Teuchos::RCP< Vector< Real > > &  d 
)

Definition at line 351 of file ROL_PartitionedVector.hpp.

template<class Real >
Teuchos::RCP<const Vector<Real> > ROL::CreatePartitionedVector ( const Teuchos::RCP< const Vector< Real > > &  a,
const Teuchos::RCP< const Vector< Real > > &  b,
const Teuchos::RCP< const Vector< Real > > &  c,
const Teuchos::RCP< const Vector< Real > > &  d 
)

Definition at line 365 of file ROL_PartitionedVector.hpp.

template<class Real >
Teuchos::RCP<Krylov<Real> > ROL::KrylovFactory ( Teuchos::ParameterList &  parlist)
inline

Definition at line 63 of file ROL_KrylovFactory.hpp.

References KRYLOV_CG, KRYLOV_CR, KRYLOV_GMRES, and StringToEKrylov().

template<class Real >
Teuchos::RCP<LineSearch<Real> > ROL::LineSearchFactory ( Teuchos::ParameterList &  parlist)
inline
template<class Real >
Teuchos::RCP<Secant<Real> > ROL::getSecant ( ESecant  esec = SECANT_LBFGS,
int  L = 10,
int  BBtype = 1 
)
inline

Definition at line 60 of file ROL_SecantFactory.hpp.

References SECANT_BARZILAIBORWEIN, SECANT_LBFGS, SECANT_LDFP, and SECANT_LSR1.

template<class Real >
Teuchos::RCP<Secant<Real> > ROL::SecantFactory ( Teuchos::ParameterList &  parlist)
inline
template<class Real >
Teuchos::RCP<TrustRegion<Real> > ROL::TrustRegionFactory ( Teuchos::ParameterList &  parlist)
inline
std::string ROL::EDistributionToString ( EDistribution  ed)
inline
int ROL::isValidDistribution ( EDistribution  ed)
inline
EDistribution& ROL::operator++ ( EDistribution type)
inline

Definition at line 136 of file ROL_DistributionFactory.hpp.

EDistribution ROL::operator++ ( EDistribution type,
int   
)
inline

Definition at line 140 of file ROL_DistributionFactory.hpp.

EDistribution& ROL::operator-- ( EDistribution type)
inline

Definition at line 146 of file ROL_DistributionFactory.hpp.

EDistribution ROL::operator-- ( EDistribution type,
int   
)
inline

Definition at line 150 of file ROL_DistributionFactory.hpp.

EDistribution ROL::StringToEDistribution ( std::string  s)
inline
template<class Real >
Teuchos::RCP<Distribution<Real> > ROL::DistributionFactory ( Teuchos::ParameterList &  parlist)
inline
std::string ROL::ERiskMeasureToString ( ERiskMeasure  ed)
inline
int ROL::isValidRiskMeasure ( ERiskMeasure  ed)
inline
ERiskMeasure& ROL::operator++ ( ERiskMeasure type)
inline

Definition at line 150 of file ROL_RiskMeasureFactory.hpp.

ERiskMeasure ROL::operator++ ( ERiskMeasure type,
int   
)
inline

Definition at line 154 of file ROL_RiskMeasureFactory.hpp.

ERiskMeasure& ROL::operator-- ( ERiskMeasure type)
inline

Definition at line 160 of file ROL_RiskMeasureFactory.hpp.

ERiskMeasure ROL::operator-- ( ERiskMeasure type,
int   
)
inline

Definition at line 164 of file ROL_RiskMeasureFactory.hpp.

ERiskMeasure ROL::StringToERiskMeasure ( std::string  s)
inline
template<class Real >
Teuchos::RCP<RiskMeasure<Real> > ROL::RiskMeasureFactory ( Teuchos::ParameterList &  parlist)
inline
template<class Real >
Teuchos::SerialDenseMatrix<int, Real> ROL::computeDenseHessian ( Objective< Real > &  obj,
const Vector< Real > &  x 
)
template<class Real >
Teuchos::SerialDenseMatrix<int, Real> ROL::computeDotMatrix ( const Vector< Real > &  x)
template<class Real >
std::vector<std::vector<Real> > ROL::computeEigenvalues ( const Teuchos::SerialDenseMatrix< int, Real > &  mat)

Definition at line 109 of file ROL_HelperFunctions.hpp.

Referenced by main().

template<class Real >
std::vector<std::vector<Real> > ROL::computeGenEigenvalues ( const Teuchos::SerialDenseMatrix< int, Real > &  A,
const Teuchos::SerialDenseMatrix< int, Real > &  B 
)

Definition at line 147 of file ROL_HelperFunctions.hpp.

template<class Real >
Teuchos::SerialDenseMatrix<int, Real> ROL::computeInverse ( const Teuchos::SerialDenseMatrix< int, Real > &  mat)

Definition at line 194 of file ROL_HelperFunctions.hpp.

template<class ParameterType >
void ROL::setParameter ( Teuchos::ParameterList &  parlist,
const std::vector< std::string > &  location,
const std::vector< std::string >::iterator  iter,
ParameterType  value 
)

Definition at line 112 of file ROL_ParameterListConverters.hpp.

Referenced by tierParameterList().

void ROL::tierParameterList ( Teuchos::ParameterList &  outList,
const Teuchos::ParameterList &  inList 
)
inline

Produce a heirarchical parameter list using the new names from a flat list of the old names.

Definition at line 131 of file ROL_ParameterListConverters.hpp.

References ROL::StringList::join(), removeStringFormat(), and setParameter().

template<class Real >
void ROL::getTestObjectives ( Teuchos::RCP< Objective< Real > > &  obj,
Teuchos::RCP< Vector< Real > > &  x0,
Teuchos::RCP< Vector< Real > > &  x,
const ETestObjectives  test 
)
template<class Real >
void ROL::getTestObjectives ( Teuchos::RCP< Objective< Real > > &  obj,
Teuchos::RCP< BoundConstraint< Real > > &  con,
Teuchos::RCP< Vector< Real > > &  x0,
Teuchos::RCP< Vector< Real > > &  x,
const ETestOptProblem  test 
)
std::string ROL::removeStringFormat ( std::string  s)
inline
std::string ROL::EStepToString ( EStep  tr)
inline
int ROL::isValidStep ( EStep  ls)
inline

Verifies validity of a TrustRegion enum.

Parameters
tr[in] - enum of the TrustRegion
Returns
1 if the argument is a valid TrustRegion; 0 otherwise.

Definition at line 193 of file ROL_Types.hpp.

References STEP_AUGMENTEDLAGRANGIAN, STEP_BUNDLE, STEP_COMPOSITESTEP, STEP_INTERIORPOINT, STEP_LINESEARCH, STEP_MOREAUYOSIDAPENALTY, STEP_PRIMALDUALACTIVESET, and STEP_TRUSTREGION.

Referenced by ROL::Algorithm< Real >::Algorithm().

EStep& ROL::operator++ ( EStep type)
inline

Definition at line 204 of file ROL_Types.hpp.

EStep ROL::operator++ ( EStep type,
int   
)
inline

Definition at line 208 of file ROL_Types.hpp.

EStep& ROL::operator-- ( EStep type)
inline

Definition at line 214 of file ROL_Types.hpp.

EStep ROL::operator-- ( EStep type,
int   
)
inline

Definition at line 218 of file ROL_Types.hpp.

EStep ROL::StringToEStep ( std::string  s)
inline
std::string ROL::EBoundAlgorithmToString ( EBoundAlgorithm  tr)
inline
int ROL::isValidBoundAlgorithm ( EBoundAlgorithm  d)
inline

Verifies validity of a Bound Algorithm enum.

Parameters
tr[in] - enum of the Bound Algorithm
Returns
1 if the argument is a valid Bound Algorithm; 0 otherwise.

Definition at line 265 of file ROL_Types.hpp.

References BOUNDALGORITHM_INTERIORPOINTS, BOUNDALGORITHM_PRIMALDUALACTIVESET, and BOUNDALGORITHM_PROJECTED.

EBoundAlgorithm& ROL::operator++ ( EBoundAlgorithm type)
inline

Definition at line 272 of file ROL_Types.hpp.

EBoundAlgorithm ROL::operator++ ( EBoundAlgorithm type,
int   
)
inline

Definition at line 276 of file ROL_Types.hpp.

EBoundAlgorithm& ROL::operator-- ( EBoundAlgorithm type)
inline

Definition at line 282 of file ROL_Types.hpp.

EBoundAlgorithm ROL::operator-- ( EBoundAlgorithm type,
int   
)
inline

Definition at line 286 of file ROL_Types.hpp.

EBoundAlgorithm ROL::StringToEBoundAlgorithm ( std::string  s)
inline
std::string ROL::EDescentToString ( EDescent  tr)
inline
int ROL::isValidDescent ( EDescent  d)
inline

Verifies validity of a Secant enum.

Parameters
tr[in] - enum of the Secant
Returns
1 if the argument is a valid Secant; 0 otherwise.

Definition at line 340 of file ROL_Types.hpp.

References DESCENT_NEWTON, DESCENT_NEWTONKRYLOV, DESCENT_NONLINEARCG, DESCENT_SECANT, and DESCENT_STEEPEST.

EDescent& ROL::operator++ ( EDescent type)
inline

Definition at line 349 of file ROL_Types.hpp.

EDescent ROL::operator++ ( EDescent type,
int   
)
inline

Definition at line 353 of file ROL_Types.hpp.

EDescent& ROL::operator-- ( EDescent type)
inline

Definition at line 359 of file ROL_Types.hpp.

EDescent ROL::operator-- ( EDescent type,
int   
)
inline

Definition at line 363 of file ROL_Types.hpp.

EDescent ROL::StringToEDescent ( std::string  s)
inline
std::string ROL::ESecantToString ( ESecant  tr)
inline
int ROL::isValidSecant ( ESecant  s)
inline

Verifies validity of a Secant enum.

Parameters
tr[in] - enum of the Secant
Returns
1 if the argument is a valid Secant; 0 otherwise.

Definition at line 415 of file ROL_Types.hpp.

References SECANT_BARZILAIBORWEIN, SECANT_LBFGS, SECANT_LDFP, SECANT_LSR1, and SECANT_USERDEFINED.

ESecant& ROL::operator++ ( ESecant type)
inline

Definition at line 424 of file ROL_Types.hpp.

ESecant ROL::operator++ ( ESecant type,
int   
)
inline

Definition at line 428 of file ROL_Types.hpp.

ESecant& ROL::operator-- ( ESecant type)
inline

Definition at line 434 of file ROL_Types.hpp.

ESecant ROL::operator-- ( ESecant type,
int   
)
inline

Definition at line 438 of file ROL_Types.hpp.

ESecant ROL::StringToESecant ( std::string  s)
inline
std::string ROL::EKrylovToString ( EKrylov  tr)
inline
int ROL::isValidKrylov ( EKrylov  d)
inline

Verifies validity of a Secant enum.

Parameters
tr[in] - enum of the Secant
Returns
1 if the argument is a valid Secant; 0 otherwise.

Definition at line 486 of file ROL_Types.hpp.

References KRYLOV_CG, KRYLOV_CR, KRYLOV_GMRES, and KRYLOV_USERDEFINED.

EKrylov& ROL::operator++ ( EKrylov type)
inline

Definition at line 493 of file ROL_Types.hpp.

EKrylov ROL::operator++ ( EKrylov type,
int   
)
inline

Definition at line 497 of file ROL_Types.hpp.

EKrylov& ROL::operator-- ( EKrylov type)
inline

Definition at line 503 of file ROL_Types.hpp.

EKrylov ROL::operator-- ( EKrylov type,
int   
)
inline

Definition at line 507 of file ROL_Types.hpp.

EKrylov ROL::StringToEKrylov ( std::string  s)
inline
std::string ROL::ENonlinearCGToString ( ENonlinearCG  tr)
inline
int ROL::isValidNonlinearCG ( ENonlinearCG  s)
inline

Verifies validity of a NonlinearCG enum.

Parameters
tr[in] - enum of the NonlinearCG
Returns
1 if the argument is a valid NonlinearCG; 0 otherwise.

Definition at line 572 of file ROL_Types.hpp.

References NONLINEARCG_DAI_YUAN, NONLINEARCG_DANIEL, NONLINEARCG_FLETCHER_CONJDESC, NONLINEARCG_FLETCHER_REEVES, NONLINEARCG_HAGER_ZHANG, NONLINEARCG_HESTENES_STIEFEL, NONLINEARCG_LIU_STOREY, NONLINEARCG_OREN_LUENBERGER, and NONLINEARCG_POLAK_RIBIERE.

ENonlinearCG& ROL::operator++ ( ENonlinearCG type)
inline

Definition at line 585 of file ROL_Types.hpp.

ENonlinearCG ROL::operator++ ( ENonlinearCG type,
int   
)
inline

Definition at line 589 of file ROL_Types.hpp.

ENonlinearCG& ROL::operator-- ( ENonlinearCG type)
inline

Definition at line 595 of file ROL_Types.hpp.

ENonlinearCG ROL::operator-- ( ENonlinearCG type,
int   
)
inline

Definition at line 599 of file ROL_Types.hpp.

ENonlinearCG ROL::StringToENonlinearCG ( std::string  s)
inline
std::string ROL::ELineSearchToString ( ELineSearch  ls)
inline
int ROL::isValidLineSearch ( ELineSearch  ls)
inline

Verifies validity of a LineSearch enum.

Parameters
ls[in] - enum of the linesearch
Returns
1 if the argument is a valid linesearch; 0 otherwise.

Definition at line 659 of file ROL_Types.hpp.

References LINESEARCH_BACKTRACKING, LINESEARCH_BISECTION, LINESEARCH_BRENTS, LINESEARCH_CUBICINTERP, LINESEARCH_GOLDENSECTION, LINESEARCH_ITERATIONSCALING, LINESEARCH_PATHBASEDTARGETLEVEL, and LINESEARCH_USERDEFINED.

ELineSearch& ROL::operator++ ( ELineSearch type)
inline

Definition at line 671 of file ROL_Types.hpp.

ELineSearch ROL::operator++ ( ELineSearch type,
int   
)
inline

Definition at line 675 of file ROL_Types.hpp.

ELineSearch& ROL::operator-- ( ELineSearch type)
inline

Definition at line 681 of file ROL_Types.hpp.

ELineSearch ROL::operator-- ( ELineSearch type,
int   
)
inline

Definition at line 685 of file ROL_Types.hpp.

ELineSearch ROL::StringToELineSearch ( std::string  s)
inline
std::string ROL::ECurvatureConditionToString ( ECurvatureCondition  ls)
inline
int ROL::isValidCurvatureCondition ( ECurvatureCondition  ls)
inline

Verifies validity of a CurvatureCondition enum.

Parameters
ls[in] - enum of the Curvature Conditions
Returns
1 if the argument is a valid curvature condition; 0 otherwise.

Definition at line 738 of file ROL_Types.hpp.

References CURVATURECONDITION_APPROXIMATEWOLFE, CURVATURECONDITION_GENERALIZEDWOLFE, CURVATURECONDITION_GOLDSTEIN, CURVATURECONDITION_NULL, CURVATURECONDITION_STRONGWOLFE, and CURVATURECONDITION_WOLFE.

ECurvatureCondition& ROL::operator++ ( ECurvatureCondition type)
inline

Definition at line 748 of file ROL_Types.hpp.

ECurvatureCondition ROL::operator++ ( ECurvatureCondition type,
int   
)
inline

Definition at line 752 of file ROL_Types.hpp.

ECurvatureCondition& ROL::operator-- ( ECurvatureCondition type)
inline

Definition at line 758 of file ROL_Types.hpp.

ECurvatureCondition ROL::operator-- ( ECurvatureCondition type,
int   
)
inline

Definition at line 762 of file ROL_Types.hpp.

ECurvatureCondition ROL::StringToECurvatureCondition ( std::string  s)
inline
std::string ROL::ETrustRegionToString ( ETrustRegion  tr)
inline
int ROL::isValidTrustRegion ( ETrustRegion  ls)
inline

Verifies validity of a TrustRegion enum.

Parameters
tr[in] - enum of the TrustRegion
Returns
1 if the argument is a valid TrustRegion; 0 otherwise.

Definition at line 812 of file ROL_Types.hpp.

References TRUSTREGION_CAUCHYPOINT, TRUSTREGION_DOGLEG, TRUSTREGION_DOUBLEDOGLEG, and TRUSTREGION_TRUNCATEDCG.

ETrustRegion& ROL::operator++ ( ETrustRegion type)
inline

Definition at line 820 of file ROL_Types.hpp.

ETrustRegion ROL::operator++ ( ETrustRegion type,
int   
)
inline

Definition at line 824 of file ROL_Types.hpp.

ETrustRegion& ROL::operator-- ( ETrustRegion type)
inline

Definition at line 830 of file ROL_Types.hpp.

ETrustRegion ROL::operator-- ( ETrustRegion type,
int   
)
inline

Definition at line 834 of file ROL_Types.hpp.

ETrustRegion ROL::StringToETrustRegion ( std::string  s)
inline
std::string ROL::ETestObjectivesToString ( ETestObjectives  to)
inline
int ROL::isValidTestObjectives ( ETestObjectives  to)
inline

Verifies validity of a TestObjectives enum.

Parameters
ls[in] - enum of the TestObjectives
Returns
1 if the argument is a valid TestObjectives; 0 otherwise.

Definition at line 895 of file ROL_Types.hpp.

References TESTOBJECTIVES_BEALE, TESTOBJECTIVES_FREUDENSTEINANDROTH, TESTOBJECTIVES_LEASTSQUARES, TESTOBJECTIVES_POISSONCONTROL, TESTOBJECTIVES_POISSONINVERSION, TESTOBJECTIVES_POWELL, TESTOBJECTIVES_ROSENBROCK, TESTOBJECTIVES_SUMOFSQUARES, and TESTOBJECTIVES_ZAKHAROV.

ETestObjectives& ROL::operator++ ( ETestObjectives type)
inline

Definition at line 908 of file ROL_Types.hpp.

ETestObjectives ROL::operator++ ( ETestObjectives type,
int   
)
inline

Definition at line 912 of file ROL_Types.hpp.

ETestObjectives& ROL::operator-- ( ETestObjectives type)
inline

Definition at line 918 of file ROL_Types.hpp.

ETestObjectives ROL::operator-- ( ETestObjectives type,
int   
)
inline

Definition at line 922 of file ROL_Types.hpp.

ETestObjectives ROL::StringToETestObjectives ( std::string  s)
inline
std::string ROL::ETestOptProblemToString ( ETestOptProblem  to)
inline
int ROL::isValidTestOptProblem ( ETestOptProblem  to)
inline

Verifies validity of a TestOptProblem enum.

Parameters
ls[in] - enum of the TestOptProblem
Returns
1 if the argument is a valid TestOptProblem; 0 otherwise.

Definition at line 984 of file ROL_Types.hpp.

References TESTOPTPROBLEM_BVP, TESTOPTPROBLEM_HS1, TESTOPTPROBLEM_HS2, TESTOPTPROBLEM_HS25, TESTOPTPROBLEM_HS3, TESTOPTPROBLEM_HS38, TESTOPTPROBLEM_HS4, TESTOPTPROBLEM_HS45, and TESTOPTPROBLEM_HS5.

ETestOptProblem& ROL::operator++ ( ETestOptProblem type)
inline

Definition at line 996 of file ROL_Types.hpp.

ETestOptProblem ROL::operator++ ( ETestOptProblem type,
int   
)
inline

Definition at line 1000 of file ROL_Types.hpp.

ETestOptProblem& ROL::operator-- ( ETestOptProblem type)
inline

Definition at line 1006 of file ROL_Types.hpp.

ETestOptProblem ROL::operator-- ( ETestOptProblem type,
int   
)
inline

Definition at line 1010 of file ROL_Types.hpp.

ETestOptProblem ROL::StringToETestOptProblem ( std::string  s)
inline
std::string ROL::EConstraintToString ( EConstraint  c)
inline

Definition at line 1039 of file ROL_Types.hpp.

References CONSTRAINT_EQUALITY, CONSTRAINT_INEQUALITY, and CONSTRAINT_LAST.

Referenced by StringToEConstraint().

int ROL::isValidConstraint ( EConstraint  c)
inline

Verifies validity of a Secant enum.

Parameters
c[in] - enum of the Secant
Returns
1 if the argument is a valid Secant; 0 otherwise.

Definition at line 1055 of file ROL_Types.hpp.

References CONSTRAINT_EQUALITY, and CONSTRAINT_INEQUALITY.

EConstraint& ROL::operator++ ( EConstraint type)
inline

Definition at line 1060 of file ROL_Types.hpp.

EConstraint ROL::operator++ ( EConstraint type,
int   
)
inline

Definition at line 1064 of file ROL_Types.hpp.

EConstraint& ROL::operator-- ( EConstraint type)
inline

Definition at line 1070 of file ROL_Types.hpp.

EConstraint ROL::operator-- ( EConstraint type,
int   
)
inline

Definition at line 1074 of file ROL_Types.hpp.

EConstraint ROL::StringToEConstraint ( std::string  s)
inline
void ROL::addJSONBlockToPL ( const Json::Value &  block,
Teuchos::ParameterList &  parlist 
)

Iterate over a block and insert key-value pairs into the Teuchos::ParameterList.

Parameters
[in]blockis a block from a JSON object

Definition at line 117 of file json/example_01.hpp.

References addJSONPairToPL().

Referenced by addJSONPairToPL(), and JSON_Parameters().

void ROL::addJSONPairToPL ( const Json::Value &  block,
const std::string &  key,
Teuchos::ParameterList &  parlist 
)

Given a JSON block and a key, get the value and insert the key-value pair into a Teuchos::ParameterList. If the value is itself a block, recursively iterate.

Parameters
[in]blockis a block from a JSON object
[in]keyis a string key

Definition at line 86 of file json/example_01.hpp.

References addJSONBlockToPL().

Referenced by addJSONBlockToPL().

void ROL::JSON_Parameters ( const std::string &  jsonFileName,
Teuchos::ParameterList &  parlist 
)

Read a JSON file and store all parameters in a Teuchos::ParameterList. Checks for a key called "Algorithm" which has a string value which can specify a Step Type (Linesearch or Trust-Region) and either a Descent Type or a Trust-Region Subproblem Solver Type.

Parameters
[in]blockis a block from a JSON object

Definition at line 136 of file json/example_01.hpp.

References addJSONBlockToPL().

Referenced by main().

template<class Real >
void ROL::stepFactory ( Teuchos::ParameterList &  parlist,
Teuchos::RCP< ROL::Step< Real > > &  step 
)

A minimalist step factory which specializes the Step Type depending on whether a Trust-Region or Linesearch has been selected.

Parameters
[in]parlistis a Teuchos::ParameterList

Definition at line 207 of file json/example_01.hpp.

Referenced by ROL::Algorithm< Real >::Algorithm(), and main().

Variable Documentation

const double ROL::ROL_EPSILON = std::abs(Teuchos::ScalarTraits<double>::eps())
static

Platform-dependent machine epsilon.

Definition at line 118 of file ROL_Types.hpp.

Referenced by ROL::AbsoluteValue< Real >::AbsoluteValue(), ROL::CompositeStep< Real >::accept(), ROL::EqualityConstraint_SimOpt< Real >::applyAdjointHessian_11(), ROL::EqualityConstraint_SimOpt< Real >::applyAdjointHessian_12(), ROL::EqualityConstraint_SimOpt< Real >::applyAdjointHessian_21(), ROL::EqualityConstraint_SimOpt< Real >::applyAdjointHessian_22(), ROL::EqualityConstraint< Real >::applyAdjointJacobian(), ROL::EqualityConstraint_SimOpt< Real >::applyAdjointJacobian_1(), ROL::EqualityConstraint_SimOpt< Real >::applyAdjointJacobian_2(), ROL::lSR1< Real >::applyB(), ROL::lSR1< Real >::applyH(), ROL::EqualityConstraint< Real >::applyJacobian(), ROL::EqualityConstraint_SimOpt< Real >::applyJacobian_1(), ROL::EqualityConstraint_SimOpt< Real >::applyJacobian_2(), ROL::AbsoluteValue< Real >::c2_absolute_value(), ROL::CauchyPoint< Real >::CauchyPoint(), ROL::CauchyPoint< Real >::cauchypoint_CGT(), ROL::CauchyPoint< Real >::cauchypoint_M(), ROL::CauchyPoint< Real >::cauchypoint_unc(), ROL::EqualityConstraint< Real >::checkAdjointConsistencyJacobian(), ROL::EqualityConstraint_SimOpt< Real >::checkAdjointConsistencyJacobian_1(), ROL::EqualityConstraint_SimOpt< Real >::checkAdjointConsistencyJacobian_2(), ROL::EqualityConstraint< Real >::checkApplyAdjointHessian(), ROL::EqualityConstraint< Real >::checkApplyAdjointJacobian(), ROL::EqualityConstraint< Real >::checkApplyJacobian(), ROL::Objective< Real >::checkGradient(), ROL::Objective< Real >::checkHessSym(), ROL::Objective< Real >::checkHessVec(), ROL::EqualityConstraint_SimOpt< Real >::checkInverseAdjointJacobian_1(), ROL::EqualityConstraint_SimOpt< Real >::checkInverseJacobian_1(), ROL::EqualityConstraint_SimOpt< Real >::checkSolve(), ROL::CompositeStep< Real >::compute(), ROL::PrimalDualActiveSetStep< Real >::compute(), ROL::LineSearchStep< Real >::compute(), ROL::Bundle< Real >::computeAlpha(), computeDenseHessian(), ROL::AugmentedLagrangianStep< Real >::computeGradient(), ROL::CompositeStep< Real >::computeLagrangeMultiplier(), ROL::CompositeStep< Real >::computeQuasinormalStep(), ROL::Objective< Real >::dirDeriv(), ROL::SROMGenerator< Real >::get_scaling_vectors(), ROL::AugmentedLagrangian< Real >::getConstraintVec(), ROL::LineSearch< Real >::getInitialAlpha(), ROL::AugmentedLagrangian< Real >::getObjectiveGradient(), ROL::AugmentedLagrangian< Real >::getObjectiveValue(), ROL::TrustRegion< Real >::getPredictedReduction(), ROL::Objective< Real >::gradient(), ROL::BPOEObjective< Real >::gradient(), ROL::HMCRObjective< Real >::gradient(), ROL::Objective_SimOpt< Real >::gradient_1(), ROL::Objective_SimOpt< Real >::gradient_2(), ROL::Objective< Real >::hessVec(), ROL::BPOEObjective< Real >::hessVec(), ROL::HMCRObjective< Real >::hessVec(), ROL::Objective_SimOpt< Real >::hessVec_11(), ROL::Objective_SimOpt< Real >::hessVec_12(), ROL::Objective_SimOpt< Real >::hessVec_21(), ROL::Objective_SimOpt< Real >::hessVec_22(), ROL::Step< Real >::initialize(), ROL::CompositeStep< Real >::initialize(), ROL::PrimalDualActiveSetStep< Real >::initialize(), ROL::TrustRegionStep< Real >::initialize(), ROL::Smale< Real >::invertCDF(), ROL::RaisedCosine< Real >::invertCDF(), ROL::Parabolic< Real >::invertCDF(), ROL::Gamma< Real >::invertCDF(), ROL::Beta< Real >::invertCDF(), ROL::Bundle< Real >::isNonnegative(), main(), ROL::MixedQuantileQuadrangle< Real >::MixedQuantileQuadrangle(), ROL::Bundle< Real >::reset(), ROL::ConjugateGradients< Real >::run(), ROL::ConjugateResiduals< Real >::run(), ROL::IterationScaling< Real >::run(), ROL::CubicInterp< Real >::run(), ROL::BackTracking< Real >::run(), ROL::Brents< Real >::run(), ROL::GoldenSection< Real >::run(), ROL::Bisection< Real >::run(), ROL::DogLeg< Real >::run(), ROL::DoubleDogLeg< Real >::run(), ROL::PathBasedTargetLevel< Real >::run(), ROL::TruncatedCG< Real >::run(), ROL::GMRES< Real >::run(), Objective_BurgersControl< Real >::run_newton(), EqualityConstraint_BurgersControl< Real >::run_newton(), ROL::ZOO::Objective_PoissonInversion< Real >::solve_state_equation(), ROL::Bundle< Real >::solveDual_arbitrary(), ROL::Bundle_TT< Real >::solveDual_dim2(), ROL::Bundle< Real >::solveDual_dim2(), ROL::CompositeStep< Real >::solveTangentialSubproblem(), ROL::SROMGenerator< Real >::SROMGenerator(), ROL::LineSearch< Real >::status(), ROL::AbsoluteValue< Real >::true_absolute_value(), ROL::TrustRegion< Real >::TrustRegion(), ROL::Secant< Real >::update(), ROL::TrustRegion< Real >::update(), ROL::Reduced_Objective_SimOpt< Real >::update(), Objective_PoissonInversion< Real >::update(), ROL::CompositeStep< Real >::update(), ROL::PrimalDualActiveSetStep< Real >::update(), ROL::TrustRegionStep< Real >::update(), ROL::LineSearchStep< Real >::update(), ROL::TrustRegionStep< Real >::updateGradient(), ROL::MoreauYosidaPenaltyStep< Real >::updateState(), and ROL::HMCRObjective< Real >::value().

const double ROL::ROL_THRESHOLD = 10.0 * ROL_EPSILON
static

Tolerance for various equality tests.

Definition at line 122 of file ROL_Types.hpp.

Referenced by main().

const double ROL::ROL_OVERFLOW = std::abs(Teuchos::ScalarTraits<double>::rmax())
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())
static