|
ROL
|
Provides interface for and implements limited-memory secant operators. More...
#include <ROL_Secant.hpp>
Inheritance diagram for ROL::Secant< Real >:Public Member Functions | |
| virtual | ~Secant () |
| useDefaultScaling_ (useDefaultScaling) | |
| Bscaling_ (Bscaling) | |
| isInitialized_ (false) | |
| Ptr< SecantState< Real > > & | get_state () |
| const Ptr< SecantState< Real > > & | get_state () const |
| virtual 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 | applyH (Vector< Real > &Hv, const Vector< Real > &v) const =0 |
| virtual void | applyH0 (Vector< Real > &Hv, const Vector< Real > &v) const |
| virtual void | applyB (Vector< Real > &Bv, const Vector< Real > &v) const =0 |
| virtual void | applyB0 (Vector< Real > &Bv, const Vector< Real > &v) const |
| void | test (std::ostream &stream=std::cout) 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... | |
Public Attributes | |
| __pad0__: state_(makePtr<SecantState<Real>>(M | |
| mode | |
Protected Attributes | |
| const Ptr< SecantState< Real > > | state_ |
| Ptr< Vector< Real > > | y_ |
| bool | useDefaultScaling_ |
| Real | Bscaling_ |
Private Attributes | |
| bool | isInitialized_ |
Provides interface for and implements limited-memory secant operators.
Definition at line 45 of file ROL_Secant.hpp.
|
inlinevirtual |
Definition at line 59 of file ROL_Secant.hpp.
| ROL::Secant< Real >::useDefaultScaling_ | ( | useDefaultScaling | ) |
| ROL::Secant< Real >::Bscaling_ | ( | Bscaling | ) |
|
inline |
Definition at line 65 of file ROL_Secant.hpp.
|
inline |
Definition at line 67 of file ROL_Secant.hpp.
References ROL::Secant< Real >::state_.
|
inline |
Definition at line 68 of file ROL_Secant.hpp.
References ROL::Secant< Real >::state_.
|
inlinevirtual |
Reimplemented in ROL::lSR1< Real >.
Definition at line 71 of file ROL_Secant.hpp.
References ROL::Vector< Real >::apply(), ROL::Vector< Real >::clone(), ROL::Secant< Real >::isInitialized_, ROL::Secant< Real >::state_, and ROL::Secant< Real >::y_.
|
pure virtual |
Implemented in ROL::lSR1< Real >.
Referenced by ROL::TypeB::LSecantBAlgorithm< Real >::applyFreePrecond(), ROL::Secant< Real >::applyInverse(), and ROL::Secant< Real >::test().
|
inlinevirtual |
Reimplemented in ROL::lSR1< Real >.
Definition at line 110 of file ROL_Secant.hpp.
References ROL::Secant< Real >::Bscaling_, ROL::Vector< Real >::dual(), ROL::Vector< Real >::scale(), ROL::Vector< Real >::set(), ROL::Secant< Real >::state_, and ROL::Secant< Real >::useDefaultScaling_.
|
pure virtual |
|
inlinevirtual |
Reimplemented in ROL::lSR1< Real >.
Definition at line 127 of file ROL_Secant.hpp.
References ROL::Secant< Real >::Bscaling_, ROL::Vector< Real >::dual(), ROL::Vector< Real >::scale(), ROL::Vector< Real >::set(), ROL::Secant< Real >::state_, and ROL::Secant< Real >::useDefaultScaling_.
|
inline |
Definition at line 141 of file ROL_Secant.hpp.
References ROL::Secant< Real >::applyB(), ROL::Secant< Real >::applyH(), ROL::Secant< Real >::isInitialized_, and ROL::Secant< Real >::state_.
|
inlinevirtual |
Apply linear operator.
This function applies the linear operator to a vector.
| [out] | Hv | is the output vector. |
| [in] | v | is the input vector. |
| [in] | tol | is a tolerance for inexact linear operator application. |
Implements ROL::LinearOperator< Real >.
Definition at line 164 of file ROL_Secant.hpp.
References ROL::Secant< Real >::applyB().
|
inlinevirtual |
Apply inverse of linear operator.
This function applies the inverse of linear operator to a vector.
| [out] | Hv | is the output vector. |
| [in] | v | is the input vector. |
| [in] | tol | is a tolerance for inexact linear operator application. |
Reimplemented from ROL::LinearOperator< Real >.
Definition at line 168 of file ROL_Secant.hpp.
References ROL::Secant< Real >::applyH().
|
protected |
Definition at line 48 of file ROL_Secant.hpp.
Referenced by ROL::lSR1< Real >::applyB(), ROL::Secant< Real >::applyB0(), ROL::lSR1< Real >::applyB0(), ROL::lSR1< Real >::applyH(), ROL::Secant< Real >::applyH0(), ROL::lSR1< Real >::applyH0(), ROL::Secant< Real >::get_state(), ROL::Secant< Real >::test(), ROL::lSR1< Real >::updateStorage(), and ROL::Secant< Real >::updateStorage().
|
protected |
Definition at line 49 of file ROL_Secant.hpp.
Referenced by ROL::lSR1< Real >::updateStorage(), and ROL::Secant< Real >::updateStorage().
|
protected |
Definition at line 50 of file ROL_Secant.hpp.
Referenced by ROL::Secant< Real >::applyB0(), ROL::Secant< Real >::applyH0(), ROL::lSR1< Real >::B0called_(), and ROL::lSR1< Real >::updateStorage().
|
protected |
Definition at line 51 of file ROL_Secant.hpp.
Referenced by ROL::Secant< Real >::applyB0(), ROL::lSR1< Real >::applyB0(), ROL::Secant< Real >::applyH0(), ROL::lSR1< Real >::applyH0(), ROL::lSR1< Real >::B0called_(), and ROL::lSR1< Real >::updateStorage().
|
private |
Definition at line 55 of file ROL_Secant.hpp.
Referenced by ROL::Secant< Real >::test(), and ROL::Secant< Real >::updateStorage().
| ROL::Secant< Real >::__pad0__ |
Definition at line 63 of file ROL_Secant.hpp.
| ROL::Secant< Real >::mode |
Definition at line 63 of file ROL_Secant.hpp.
1.8.5