ROL
|
Provides definitions for limited-memory SR1 operators. More...
#include <ROL_lSR1.hpp>
Public Member Functions | |
lSR1 (int M) | |
void | updateStorage (const Vector< Real > &x, const Vector< Real > &grad, const Vector< Real > &gp, const Vector< Real > &s, const Real snorm, const int iter) |
virtual void | applyH0 (Vector< Real > &Hv, const Vector< Real > &v) const |
void | applyH (Vector< Real > &Hv, const Vector< Real > &v) const |
virtual void | applyB0 (Vector< Real > &Bv, const Vector< Real > &v) const |
void | applyB (Vector< Real > &Bv, const Vector< Real > &v) const |
Public Member Functions inherited from ROL::Secant< Real > | |
virtual | ~Secant () |
Secant (int M=10) | |
ROL::Ptr< SecantState< Real > > & | get_state () |
const ROL::Ptr< SecantState < Real > > & | get_state () const |
void | test (const Vector< Real > &x, const Vector< Real > &s) const |
void | apply (Vector< Real > &Hv, const Vector< Real > &v, Real &tol) const |
Apply linear operator. More... | |
void | applyInverse (Vector< Real > &Hv, const Vector< Real > &v, Real &tol) const |
Apply inverse of linear operator. More... | |
Public Member Functions inherited from ROL::LinearOperator< Real > | |
virtual | ~LinearOperator () |
virtual void | update (const Vector< Real > &x, bool flag=true, int iter=-1) |
Update linear operator. More... | |
virtual void | applyAdjoint (Vector< Real > &Hv, const Vector< Real > &v, Real &tol) const |
Apply adjoint of linear operator. More... | |
virtual void | applyAdjointInverse (Vector< Real > &Hv, const Vector< Real > &v, Real &tol) const |
Apply adjoint of the inverse linear operator. More... | |
Private Attributes | |
bool | updateIterate_ |
bool | isInitialized_ |
Provides definitions for limited-memory SR1 operators.
Definition at line 57 of file ROL_lSR1.hpp.
Definition at line 64 of file ROL_lSR1.hpp.
References ROL::lSR1< Real >::updateIterate_.
|
inlinevirtual |
Reimplemented from ROL::Secant< Real >.
Definition at line 69 of file ROL_lSR1.hpp.
References ROL::Vector< Real >::clone(), ROL::Vector< Real >::dot(), ROL::Secant< Real >::get_state(), ROL::lSR1< Real >::isInitialized_, and ROL::lSR1< Real >::updateIterate_.
|
inlinevirtual |
Reimplemented from ROL::Secant< Real >.
Definition at line 106 of file ROL_lSR1.hpp.
References ROL::Vector< Real >::dual(), and ROL::Vector< Real >::set().
Referenced by ROL::lSR1< Real >::applyH().
|
inlinevirtual |
Implements ROL::Secant< Real >.
Definition at line 111 of file ROL_lSR1.hpp.
References ROL::lSR1< Real >::applyH0(), ROL::Vector< Real >::axpy(), ROL::Vector< Real >::clone(), ROL::Vector< Real >::dual(), ROL::Secant< Real >::get_state(), and ROL::lSR1< Real >::updateIterate_.
|
inlinevirtual |
Reimplemented from ROL::Secant< Real >.
Definition at line 151 of file ROL_lSR1.hpp.
References ROL::Vector< Real >::dual(), and ROL::Vector< Real >::set().
Referenced by ROL::lSR1< Real >::applyB().
|
inlinevirtual |
Implements ROL::Secant< Real >.
Definition at line 156 of file ROL_lSR1.hpp.
References ROL::lSR1< Real >::applyB0(), ROL::Vector< Real >::axpy(), ROL::Vector< Real >::clone(), ROL::Vector< Real >::dual(), ROL::Secant< Real >::get_state(), and ROL::lSR1< Real >::updateIterate_.
|
mutableprivate |
Definition at line 60 of file ROL_lSR1.hpp.
Referenced by ROL::lSR1< Real >::applyB(), ROL::lSR1< Real >::applyH(), ROL::lSR1< Real >::lSR1(), and ROL::lSR1< Real >::updateStorage().
|
private |
Definition at line 61 of file ROL_lSR1.hpp.
Referenced by ROL::lSR1< Real >::updateStorage().