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

namespace  ROL
 
namespace  ROL::Finite_Difference_Arrays
 
namespace  ROL::Exception
 

Macros

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

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
}
 
enum  ROL::EDescent {
  ROL::DESCENT_STEEPEST = 0 , ROL::DESCENT_NONLINEARCG , ROL::DESCENT_SECANT , ROL::DESCENT_NEWTON ,
  ROL::DESCENT_NEWTONKRYLOV , ROL::DESCENT_LAST
}
 
enum  ROL::ESecant {
  ROL::SECANT_LBFGS = 0 , ROL::SECANT_LDFP , ROL::SECANT_LSR1 , ROL::SECANT_BARZILAIBORWEIN ,
  ROL::SECANT_USERDEFINED , ROL::SECANT_LAST
}
 
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
}
 
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
}
 
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
}
 
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
}
 

Functions

template<class T >
std::string ROL::NumberToString (T Number)
 
template<class Real >
Real ROL::ROL_EPSILON (void)
 Platform-dependent machine epsilon.
 
template<class Real >
Real ROL::ROL_THRESHOLD (void)
 Tolerance for various equality tests.
 
template<class Real >
Real ROL::ROL_OVERFLOW (void)
 Platform-dependent maximum double.
 
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.
 
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.
 
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.
 
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.
 
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::ENonlinearCGToString (ENonlinearCG tr)
 
int ROL::isValidNonlinearCG (ENonlinearCG s)
 Verifies validity of a NonlinearCG enum.
 
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.
 
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.
 
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

◆ ROL_VALIDATE

#define ROL_VALIDATE (   A)    /* empty */

Definition at line 55 of file ROL_Types.hpp.

◆ ROL_NUM_CHECKDERIV_STEPS

#define ROL_NUM_CHECKDERIV_STEPS   13

Number of steps for derivative checks.

Definition at line 74 of file ROL_Types.hpp.