ROL
lSR1 Class Reference

Provides definitions for limited-memory SR1 operators. More...

#include <ROL_lSR1.hpp>

+ Inheritance diagram for lSR1:

Public Member Functions

 lSR1 (int M, bool useDefaultScaling=true, Real Bscaling=Real(1), ESecantMode mode=SECANTMODE_BOTH)
 
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 Secant< Real >
virtual ~Secant ()
 
 Secant (int M=10, bool useDefaultScaling=true, Real Bscaling=Real(1), ESecantMode mode=SECANTMODE_BOTH)
 
Ptr< SecantState< Real > > & get_state ()
 
const Ptr< SecantState< Real > > & get_state () const
 
void test (std::ostream &stream=std::cout) const
 
void apply (Vector< Real > &Hv, const Vector< Real > &v, Real &tol) const
 
void applyInverse (Vector< Real > &Hv, const Vector< Real > &v, Real &tol) const
 

Private Attributes

bool isInitialized_
 
bool H0called_
 
bool B0called_
 
Ptr< Vector< Real > > Bs_
 
Ptr< Vector< Real > > Hy_
 
Ptr< Vector< Real > > prim_
 
Ptr< Vector< Real > > dual_
 

Additional Inherited Members

- Protected Attributes inherited from Secant< Real >
const Ptr< SecantState< Real > > state_
 
Ptr< Vector< Real > > y_
 
bool useDefaultScaling_
 
Real Bscaling_
 

Detailed Description

Provides definitions for limited-memory SR1 operators.

Constructor & Destructor Documentation

◆ lSR1()

lSR1::lSR1 ( int M,
bool useDefaultScaling = true,
Real Bscaling = Real(1),
ESecantMode mode = SECANTMODE_BOTH )
inline

Definition at line 71 of file ROL_lSR1.hpp.

References Secant< Real >::Bscaling_, and Secant< Real >::useDefaultScaling_.

Member Function Documentation

◆ updateStorage()

void lSR1::updateStorage ( const Vector< Real > & x,
const Vector< Real > & grad,
const Vector< Real > & gp,
const Vector< Real > & s,
const Real snorm,
const int iter )
inlinevirtual

◆ applyH0()

virtual void lSR1::applyH0 ( Vector< Real > & Hv,
const Vector< Real > & v ) const
inlinevirtual

Reimplemented from Secant< Real >.

Definition at line 195 of file ROL_lSR1.hpp.

References Secant< Real >::Bscaling_, and Secant< Real >::state_.

Referenced by lSR1::applyH().

◆ applyH()

void lSR1::applyH ( Vector< Real > & Hv,
const Vector< Real > & v ) const
inlinevirtual

Implements Secant< Real >.

Definition at line 208 of file ROL_lSR1.hpp.

References lSR1::applyH0(), and Secant< Real >::state_.

Referenced by lSR1::updateStorage().

◆ applyB0()

virtual void lSR1::applyB0 ( Vector< Real > & Bv,
const Vector< Real > & v ) const
inlinevirtual

Reimplemented from Secant< Real >.

Definition at line 261 of file ROL_lSR1.hpp.

References Secant< Real >::Bscaling_, and Secant< Real >::state_.

Referenced by lSR1::applyB().

◆ applyB()

void lSR1::applyB ( Vector< Real > & Bv,
const Vector< Real > & v ) const
inlinevirtual

Implements Secant< Real >.

Definition at line 274 of file ROL_lSR1.hpp.

References lSR1::applyB0(), and Secant< Real >::state_.

Referenced by lSR1::updateStorage().

Member Data Documentation

◆ isInitialized_

bool lSR1::isInitialized_
private

Definition at line 61 of file ROL_lSR1.hpp.

◆ H0called_

bool lSR1::H0called_
mutableprivate

Definition at line 62 of file ROL_lSR1.hpp.

◆ B0called_

bool lSR1::B0called_
private

Definition at line 62 of file ROL_lSR1.hpp.

◆ Bs_

Ptr<Vector<Real> > lSR1::Bs_
private

Definition at line 63 of file ROL_lSR1.hpp.

◆ Hy_

Ptr<Vector<Real> > lSR1::Hy_
private

Definition at line 63 of file ROL_lSR1.hpp.

◆ prim_

Ptr<Vector<Real> > lSR1::prim_
private

Definition at line 63 of file ROL_lSR1.hpp.

◆ dual_

Ptr<Vector<Real> > lSR1::dual_
private

Definition at line 63 of file ROL_lSR1.hpp.


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