ROL
LineSearch_U Class Referenceabstract

Provides interface for and implements line searches. More...

#include <ROL_LineSearch_U.hpp>

Public Member Functions

virtual ~LineSearch_U ()
 
 LineSearch_U (ParameterList &parlist)
 
virtual void initialize (const Vector< Real > &x, const Vector< Real > &g)
 
virtual void run (Real &alpha, Real &fval, int &ls_neval, int &ls_ngrad, const Real &gs, const Vector< Real > &s, const Vector< Real > &x, Objective< Real > &obj)=0
 
void setMaxitUpdate (Real &alpha, Real &fnew, const Real &fold)
 

Protected Member Functions

virtual bool status (const ELineSearchU type, int &ls_neval, int &ls_ngrad, const Real alpha, const Real fold, const Real sgold, const Real fnew, const Vector< Real > &x, const Vector< Real > &s, Objective< Real > &obj)
 
virtual Real getInitialAlpha (int &ls_neval, int &ls_ngrad, const Real fval, const Real gs, const Vector< Real > &x, const Vector< Real > &s, Objective< Real > &obj)
 
void setNextInitialAlpha (Real alpha)
 
bool useLocalMinimizer ()
 
bool takeNoStep ()
 

Private Member Functions

Real dirDeriv (const Vector< Real > &x, const Vector< Real > &s, const Real alpha, const Real fnew, Objective< Real > &obj)
 

Private Attributes

ECurvatureConditionU econd_
 
EDescentU edesc_
 
bool useralpha_
 
bool usePrevAlpha_
 
Real alpha0_
 
Real alpha0bnd_
 
int maxit_
 
Real c1_
 
Real c2_
 
Real c3_
 
Real eps_
 
Real fmin_
 
Real alphaMin_
 
bool acceptMin_
 
bool itcond_
 
bool FDdirDeriv_
 
Ptr< Vector< Real > > xtst_
 

Detailed Description

Provides interface for and implements line searches.

Constructor & Destructor Documentation

◆ ~LineSearch_U()

virtual LineSearch_U::~LineSearch_U ( )
inlinevirtual

Definition at line 112 of file ROL_LineSearch_U.hpp.

◆ LineSearch_U()

LineSearch_U::LineSearch_U ( ParameterList & parlist)
inline

Definition at line 115 of file ROL_LineSearch_U.hpp.

References zero.

Member Function Documentation

◆ dirDeriv()

Real LineSearch_U::dirDeriv ( const Vector< Real > & x,
const Vector< Real > & s,
const Real alpha,
const Real fnew,
Objective< Real > & obj )
inlineprivate

Definition at line 84 of file ROL_LineSearch_U.hpp.

References snorm.

Referenced by LineSearch_U::status().

◆ initialize()

virtual void LineSearch_U::initialize ( const Vector< Real > & x,
const Vector< Real > & g )
inlinevirtual

◆ run()

virtual void LineSearch_U::run ( Real & alpha,
Real & fval,
int & ls_neval,
int & ls_ngrad,
const Real & gs,
const Vector< Real > & s,
const Vector< Real > & x,
Objective< Real > & obj )
pure virtual

◆ setMaxitUpdate()

void LineSearch_U::setMaxitUpdate ( Real & alpha,
Real & fnew,
const Real & fold )
inline

Definition at line 159 of file ROL_LineSearch_U.hpp.

References LineSearch_U::setNextInitialAlpha().

◆ status()

virtual bool LineSearch_U::status ( const ELineSearchU type,
int & ls_neval,
int & ls_ngrad,
const Real alpha,
const Real fold,
const Real sgold,
const Real fnew,
const Vector< Real > & x,
const Vector< Real > & s,
Objective< Real > & obj )
inlineprotectedvirtual

Definition at line 174 of file ROL_LineSearch_U.hpp.

References LineSearch_U::dirDeriv().

◆ getInitialAlpha()

virtual Real LineSearch_U::getInitialAlpha ( int & ls_neval,
int & ls_ngrad,
const Real fval,
const Real gs,
const Vector< Real > & x,
const Vector< Real > & s,
Objective< Real > & obj )
inlineprotectedvirtual

Definition at line 237 of file ROL_LineSearch_U.hpp.

◆ setNextInitialAlpha()

void LineSearch_U::setNextInitialAlpha ( Real alpha)
inlineprotected

Definition at line 265 of file ROL_LineSearch_U.hpp.

Referenced by LineSearch_U::setMaxitUpdate().

◆ useLocalMinimizer()

bool LineSearch_U::useLocalMinimizer ( )
inlineprotected

Definition at line 271 of file ROL_LineSearch_U.hpp.

◆ takeNoStep()

bool LineSearch_U::takeNoStep ( )
inlineprotected

Definition at line 275 of file ROL_LineSearch_U.hpp.

Member Data Documentation

◆ econd_

ECurvatureConditionU LineSearch_U::econd_
private

Definition at line 64 of file ROL_LineSearch_U.hpp.

◆ edesc_

EDescentU LineSearch_U::edesc_
private

Definition at line 65 of file ROL_LineSearch_U.hpp.

◆ useralpha_

bool LineSearch_U::useralpha_
private

Definition at line 67 of file ROL_LineSearch_U.hpp.

◆ usePrevAlpha_

bool LineSearch_U::usePrevAlpha_
private

Definition at line 68 of file ROL_LineSearch_U.hpp.

◆ alpha0_

Real LineSearch_U::alpha0_
private

Definition at line 69 of file ROL_LineSearch_U.hpp.

◆ alpha0bnd_

Real LineSearch_U::alpha0bnd_
private

Definition at line 70 of file ROL_LineSearch_U.hpp.

◆ maxit_

int LineSearch_U::maxit_
private

Definition at line 71 of file ROL_LineSearch_U.hpp.

◆ c1_

Real LineSearch_U::c1_
private

Definition at line 72 of file ROL_LineSearch_U.hpp.

◆ c2_

Real LineSearch_U::c2_
private

Definition at line 73 of file ROL_LineSearch_U.hpp.

◆ c3_

Real LineSearch_U::c3_
private

Definition at line 74 of file ROL_LineSearch_U.hpp.

◆ eps_

Real LineSearch_U::eps_
private

Definition at line 75 of file ROL_LineSearch_U.hpp.

◆ fmin_

Real LineSearch_U::fmin_
private

Definition at line 76 of file ROL_LineSearch_U.hpp.

◆ alphaMin_

Real LineSearch_U::alphaMin_
private

Definition at line 77 of file ROL_LineSearch_U.hpp.

◆ acceptMin_

bool LineSearch_U::acceptMin_
private

Definition at line 78 of file ROL_LineSearch_U.hpp.

◆ itcond_

bool LineSearch_U::itcond_
private

Definition at line 79 of file ROL_LineSearch_U.hpp.

◆ FDdirDeriv_

bool LineSearch_U::FDdirDeriv_
private

Definition at line 80 of file ROL_LineSearch_U.hpp.

◆ xtst_

Ptr<Vector<Real> > LineSearch_U::xtst_
private

Definition at line 82 of file ROL_LineSearch_U.hpp.


The documentation for this class was generated from the following file: