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

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

#include <algorithm>
#include <complex>
#include <exception>
#include <string>
#include <sstream>
#include <limits>
#include <type_traits>
#include <ROL_stacktrace.hpp>
#include "ROL_ScalarTraits.hpp"
#include <ROL_Ptr.hpp>
#include <ROL_Vector.hpp>
#include <ROL_config.h>

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
 
struct  ROL::TypeCaster< Real, Element >
 
struct  ROL::TypeCaster< Real, std::complex< Real > >
 
struct  ROL::TypeCaster< double, float >
 
class  ROL::Exception::NotImplemented
 

Namespaces

 ROL
 
 ROL::Finite_Difference_Arrays
 
 ROL::Exception
 

Macros

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

Typedefs

template<bool B, class T = void>
using ROL::Exception::enable_if_t = typename std::enable_if< B, T >::type
 

Enumerations

enum  ROL::EExitStatus {
  ROL::EXITSTATUS_CONVERGED = 0, ROL::EXITSTATUS_MAXITER, ROL::EXITSTATUS_STEPTOL, ROL::EXITSTATUS_NAN,
  ROL::EXITSTATUS_USERDEFINED, ROL::EXITSTATUS_LAST
}
 Enum for algorithm termination. More...
 
enum  ROL::EProblem {
  ROL::TYPE_U = 0, ROL::TYPE_B, ROL::TYPE_E, ROL::TYPE_EB,
  ROL::TYPE_LAST
}
 
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_FLETCHER, ROL::STEP_LAST
}
 Enumeration of step types. 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_MINRES,
  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_USERDEFINED, 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::ECGFlag {
  ROL::CG_FLAG_SUCCESS = 0, ROL::CG_FLAG_ITEREXCEED, ROL::CG_FLAG_NEGCURVE, ROL::CG_FLAG_TRRADEX,
  ROL::CG_FLAG_ZERORHS, ROL::CG_FLAG_UNDEFINED
}
 Enumation of flags used by conjugate gradient methods. More...
 

Functions

template<class T >
std::string ROL::NumberToString (T Number)
 
template<class Real >
Real ROL::ROL_EPSILON (void)
 Platform-dependent machine epsilon. More...
 
template<class Real >
Real ROL::ROL_THRESHOLD (void)
 Tolerance for various equality tests. More...
 
template<class Real >
Real ROL::ROL_OVERFLOW (void)
 Platform-dependent maximum double. More...
 
template<class Real >
Real ROL::ROL_INF (void)
 
template<class Real >
Real ROL::ROL_NINF (void)
 
template<class Real >
Real ROL::ROL_UNDERFLOW (void)
 Platform-dependent minimum double. More...
 
std::string ROL::EExitStatusToString (EExitStatus tr)
 
std::string ROL::removeStringFormat (std::string s)
 
std::string ROL::EStepToString (EStep tr)
 
bool ROL::isCompatibleStep (EProblem p, EStep s)
 
std::string ROL::EProblemToString (EProblem p)
 
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::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::ECGFlagToString (ECGFlag cgf)
 
template<class Element , class Real >
Real ROL::rol_cast (const Element &val)
 

Variables

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

Number of steps for derivative checks.

Definition at line 74 of file ROL_Types.hpp.