ROL
|
Provides the interface to compute optimization steps with a secant method. More...
#include <ROL_QuasiNewton_U.hpp>
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... | |
Provides the interface to compute optimization steps with a secant method.
Definition at line 27 of file ROL_QuasiNewton_U.hpp.
|
inline |
Constructor.
Constructor to build a QuasiNewton object with a user-defined secant object. Algorithmic specifications are passed in through a ROL::ParameterList.
[in] | parlist | is a parameter list containing algorithmic specifications |
[in] | secant | is 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().
|
inlineoverridevirtual |
Implements ROL::DescentDirection_U< Real >.
Definition at line 60 of file ROL_QuasiNewton_U.hpp.
References ROL::Vector< Real >::apply(), ROL::Vector< Real >::dual(), ROL::Vector< Real >::norm(), ROL::Vector< Real >::scale(), ROL::QuasiNewton_U< Real >::secant_, and ROL::Vector< Real >::set().
|
inlineoverridevirtual |
Reimplemented from ROL::DescentDirection_U< Real >.
Definition at line 76 of file ROL_QuasiNewton_U.hpp.
References ROL::QuasiNewton_U< Real >::secant_.
|
inlineoverridevirtual |
Reimplemented from ROL::DescentDirection_U< Real >.
Definition at line 83 of file ROL_QuasiNewton_U.hpp.
References ROL::QuasiNewton_U< Real >::secantName_.
|
private |
Secant object (used for quasi-Newton)
Definition at line 30 of file ROL_QuasiNewton_U.hpp.
Referenced by ROL::QuasiNewton_U< Real >::compute(), ROL::QuasiNewton_U< Real >::QuasiNewton_U(), and ROL::QuasiNewton_U< Real >::update().
|
private |
Secant type.
Definition at line 31 of file ROL_QuasiNewton_U.hpp.
Referenced by ROL::QuasiNewton_U< Real >::QuasiNewton_U().
|
private |
Secant name.
Definition at line 32 of file ROL_QuasiNewton_U.hpp.
Referenced by ROL::QuasiNewton_U< Real >::printName(), and ROL::QuasiNewton_U< Real >::QuasiNewton_U().