ROL
QuasiNewton_U Class Reference

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

#include <ROL_QuasiNewton_U.hpp>

+ Inheritance diagram for QuasiNewton_U:

Public Member Functions

 QuasiNewton_U (ParameterList &parlist, const Ptr< Secant< Real > > &secant=nullPtr)
 Constructor.
 
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 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)
 
ESecant esec_
 Secant type.
 
std::string secantName_
 Secant name.
 

Detailed Description

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

Constructor & Destructor Documentation

◆ QuasiNewton_U()

QuasiNewton_U::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 79 of file ROL_QuasiNewton_U.hpp.

Member Function Documentation

◆ compute()

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

Implements DescentDirection_U< Real >.

Definition at line 94 of file ROL_QuasiNewton_U.hpp.

References flag, iter, and snorm.

◆ update()

void QuasiNewton_U::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 DescentDirection_U< Real >.

Definition at line 110 of file ROL_QuasiNewton_U.hpp.

References iter, and snorm.

◆ printName()

std::string QuasiNewton_U::printName ( void ) const
inlineoverridevirtual

Reimplemented from DescentDirection_U< Real >.

Definition at line 117 of file ROL_QuasiNewton_U.hpp.

Member Data Documentation

◆ secant_

Ptr<Secant<Real> > QuasiNewton_U::secant_
private

Secant object (used for quasi-Newton)

Definition at line 64 of file ROL_QuasiNewton_U.hpp.

◆ esec_

ESecant QuasiNewton_U::esec_
private

Secant type.

Definition at line 65 of file ROL_QuasiNewton_U.hpp.

◆ secantName_

std::string QuasiNewton_U::secantName_
private

Secant name.

Definition at line 66 of file ROL_QuasiNewton_U.hpp.


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