ROL
Public Member Functions | Private Attributes | List of all members
ROL::QuasiNewton_U< Real > Class Template Reference

Provides the interface to compute optimization steps with a secant method. More...

#include <ROL_QuasiNewton_U.hpp>

+ Inheritance diagram for ROL::QuasiNewton_U< Real >:

Public Member Functions

 QuasiNewton_U (ParameterList &parlist, const Ptr< Secant< Real >> &secant=nullPtr)
 Constructor. More...
 
void compute (Vector< Real > &s, Real &snorm, Real &sdotg, int &iter, int &flag, const Vector< Real > &x, const Vector< Real > &g, Objective< Real > &obj) override
 
void update (const Vector< Real > &x, const Vector< Real > &s, const Vector< Real > &gold, const Vector< Real > &gnew, const Real snorm, const int iter) override
 
std::string printName (void) const override
 
- Public Member Functions inherited from ROL::DescentDirection_U< Real >
virtual ~DescentDirection_U ()
 
virtual void initialize (const Vector< Real > &x, const Vector< Real > &g)
 

Private Attributes

Ptr< Secant< Real > > secant_
 Secant object (used for quasi-Newton) More...
 
ESecant esec_
 Secant type. More...
 
std::string secantName_
 Secant name. More...
 

Detailed Description

template<typename Real>
class ROL::QuasiNewton_U< Real >

Provides the interface to compute optimization steps with a secant method.

Definition at line 27 of file ROL_QuasiNewton_U.hpp.

Constructor & Destructor Documentation

template<typename Real >
ROL::QuasiNewton_U< Real >::QuasiNewton_U ( ParameterList &  parlist,
const Ptr< Secant< Real >> &  secant = nullPtr 
)
inline

Constructor.

Constructor to build a QuasiNewton object with a user-defined secant object. Algorithmic specifications are passed in through a ROL::ParameterList.

Parameters
[in]parlistis a parameter list containing algorithmic specifications
[in]secantis a user-defined secant object

Definition at line 45 of file ROL_QuasiNewton_U.hpp.

References ROL::QuasiNewton_U< Real >::esec_, ROL::QuasiNewton_U< Real >::secant_, ROL::QuasiNewton_U< Real >::secantName_, and ROL::StringToESecant().

Member Function Documentation

template<typename Real >
void ROL::QuasiNewton_U< Real >::compute ( Vector< Real > &  s,
Real &  snorm,
Real &  sdotg,
int &  iter,
int &  flag,
const Vector< Real > &  x,
const Vector< Real > &  g,
Objective< Real > &  obj 
)
inlineoverridevirtual
template<typename Real >
void ROL::QuasiNewton_U< Real >::update ( const Vector< Real > &  x,
const Vector< Real > &  s,
const Vector< Real > &  gold,
const Vector< Real > &  gnew,
const Real  snorm,
const int  iter 
)
inlineoverridevirtual

Reimplemented from ROL::DescentDirection_U< Real >.

Definition at line 76 of file ROL_QuasiNewton_U.hpp.

References ROL::QuasiNewton_U< Real >::secant_.

template<typename Real >
std::string ROL::QuasiNewton_U< Real >::printName ( void  ) const
inlineoverridevirtual

Reimplemented from ROL::DescentDirection_U< Real >.

Definition at line 83 of file ROL_QuasiNewton_U.hpp.

References ROL::QuasiNewton_U< Real >::secantName_.

Member Data Documentation

template<typename Real >
Ptr<Secant<Real> > ROL::QuasiNewton_U< Real >::secant_
private
template<typename Real >
ESecant ROL::QuasiNewton_U< Real >::esec_
private

Secant type.

Definition at line 31 of file ROL_QuasiNewton_U.hpp.

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

template<typename Real >
std::string ROL::QuasiNewton_U< Real >::secantName_
private

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