ROL
ROL::Bundle_U< Real > Class Template Referenceabstract

Provides the interface for and implements a bundle. More...

#include <ROL_Bundle_U.hpp>

Public Member Functions

virtual ~Bundle_U (void)
 Bundle_U (const unsigned maxSize=10, const Real coeff=0.0, const Real omega=2.0, const unsigned remSize=2)
virtual void initialize (const Vector< Real > &g)
virtual unsigned solveDual (const Real t, const unsigned maxit=1000, const Real tol=1.e-8)=0
const Real linearizationError (const unsigned i) const
const Real distanceMeasure (const unsigned i) const
const Vector< Real > & subgradient (const unsigned i) const
const Real getDualVariable (const unsigned i) const
void setDualVariable (const unsigned i, const Real val)
void resetDualVariables (void)
const Real computeAlpha (const Real dm, const Real le) const
const Real alpha (const unsigned i) const
unsigned size (void) const
void aggregate (Vector< Real > &aggSubGrad, Real &aggLinErr, Real &aggDistMeas) const
void reset (const Vector< Real > &g, const Real le, const Real dm)
void update (const bool flag, const Real linErr, const Real distMeas, const Vector< Real > &g, const Vector< Real > &s)

Protected Member Functions

const Real GiGj (const unsigned i, const unsigned j) const
const Real dotGi (const unsigned i, const Vector< Real > &x) const
void addGi (const unsigned i, const Real a, Vector< Real > &x) const
Real evaluateObjective (std::vector< Real > &g, const std::vector< Real > &x, const Real t) const
unsigned solveDual_dim1 (const Real t, const unsigned maxit=1000, const Real tol=1.e-8)
unsigned solveDual_dim2 (const Real t, const unsigned maxit=1000, const Real tol=1.e-8)

Private Member Functions

void remove (const std::vector< unsigned > &ind)
void add (const Vector< Real > &g, const Real le, const Real dm)

Private Attributes

std::vector< Ptr< Vector< Real > > > subgradients_
std::vector< Real > linearizationErrors_
std::vector< Real > distanceMeasures_
std::vector< Real > dualVariables_
Ptr< Vector< Real > > tG_
Ptr< Vector< Real > > eG_
Ptr< Vector< Real > > yG_
Ptr< Vector< Real > > gx_
Ptr< Vector< Real > > ge_
unsigned size_
unsigned maxSize_
unsigned remSize_
Real coeff_
Real omega_
bool isInitialized_

Detailed Description

template<typename Real>
class ROL::Bundle_U< Real >

Provides the interface for and implements a bundle.

Definition at line 59 of file ROL_Bundle_U.hpp.

Constructor & Destructor Documentation

◆ ~Bundle_U()

template<typename Real>
virtual ROL::Bundle_U< Real >::~Bundle_U ( void )
inlinevirtual

Definition at line 93 of file ROL_Bundle_U.hpp.

◆ Bundle_U()

template<typename Real>
ROL::Bundle_U< Real >::Bundle_U ( const unsigned maxSize = 10,
const Real coeff = 0.0,
const Real omega = 2.0,
const unsigned remSize = 2 )

Member Function Documentation

◆ remove()

template<typename Real>
void ROL::Bundle_U< Real >::remove ( const std::vector< unsigned > & ind)
private

◆ add()

template<typename Real>
void ROL::Bundle_U< Real >::add ( const Vector< Real > & g,
const Real le,
const Real dm )
private

◆ initialize()

template<typename Real>
virtual void ROL::Bundle_U< Real >::initialize ( const Vector< Real > & g)
virtual

◆ solveDual()

template<typename Real>
virtual unsigned ROL::Bundle_U< Real >::solveDual ( const Real t,
const unsigned maxit = 1000,
const Real tol = 1.e-8 )
pure virtual

◆ linearizationError()

template<typename Real>
const Real ROL::Bundle_U< Real >::linearizationError ( const unsigned i) const

◆ distanceMeasure()

template<typename Real>
const Real ROL::Bundle_U< Real >::distanceMeasure ( const unsigned i) const

◆ subgradient()

template<typename Real>
const Vector< Real > & ROL::Bundle_U< Real >::subgradient ( const unsigned i) const

◆ getDualVariable()

template<typename Real>
const Real ROL::Bundle_U< Real >::getDualVariable ( const unsigned i) const

◆ setDualVariable()

template<typename Real>
void ROL::Bundle_U< Real >::setDualVariable ( const unsigned i,
const Real val )

◆ resetDualVariables()

template<typename Real>
void ROL::Bundle_U< Real >::resetDualVariables ( void )

◆ computeAlpha()

template<typename Real>
const Real ROL::Bundle_U< Real >::computeAlpha ( const Real dm,
const Real le ) const

◆ alpha()

template<typename Real>
const Real ROL::Bundle_U< Real >::alpha ( const unsigned i) const

◆ size()

template<typename Real>
unsigned ROL::Bundle_U< Real >::size ( void ) const

◆ aggregate()

template<typename Real>
void ROL::Bundle_U< Real >::aggregate ( Vector< Real > & aggSubGrad,
Real & aggLinErr,
Real & aggDistMeas ) const

◆ reset()

template<typename Real>
void ROL::Bundle_U< Real >::reset ( const Vector< Real > & g,
const Real le,
const Real dm )

◆ update()

template<typename Real>
void ROL::Bundle_U< Real >::update ( const bool flag,
const Real linErr,
const Real distMeas,
const Vector< Real > & g,
const Vector< Real > & s )

◆ GiGj()

template<typename Real>
const Real ROL::Bundle_U< Real >::GiGj ( const unsigned i,
const unsigned j ) const
protected

◆ dotGi()

template<typename Real>
const Real ROL::Bundle_U< Real >::dotGi ( const unsigned i,
const Vector< Real > & x ) const
protected

◆ addGi()

template<typename Real>
void ROL::Bundle_U< Real >::addGi ( const unsigned i,
const Real a,
Vector< Real > & x ) const
protected

◆ evaluateObjective()

template<typename Real>
Real ROL::Bundle_U< Real >::evaluateObjective ( std::vector< Real > & g,
const std::vector< Real > & x,
const Real t ) const
protected

◆ solveDual_dim1()

template<typename Real>
unsigned ROL::Bundle_U< Real >::solveDual_dim1 ( const Real t,
const unsigned maxit = 1000,
const Real tol = 1.e-8 )
protected

◆ solveDual_dim2()

template<typename Real>
unsigned ROL::Bundle_U< Real >::solveDual_dim2 ( const Real t,
const unsigned maxit = 1000,
const Real tol = 1.e-8 )
protected

Member Data Documentation

◆ subgradients_

template<typename Real>
std::vector<Ptr<Vector<Real> > > ROL::Bundle_U< Real >::subgradients_
private

Definition at line 64 of file ROL_Bundle_U.hpp.

◆ linearizationErrors_

template<typename Real>
std::vector<Real> ROL::Bundle_U< Real >::linearizationErrors_
private

Definition at line 65 of file ROL_Bundle_U.hpp.

◆ distanceMeasures_

template<typename Real>
std::vector<Real> ROL::Bundle_U< Real >::distanceMeasures_
private

Definition at line 66 of file ROL_Bundle_U.hpp.

◆ dualVariables_

template<typename Real>
std::vector<Real> ROL::Bundle_U< Real >::dualVariables_
private

Definition at line 68 of file ROL_Bundle_U.hpp.

◆ tG_

template<typename Real>
Ptr<Vector<Real> > ROL::Bundle_U< Real >::tG_
private

Definition at line 70 of file ROL_Bundle_U.hpp.

◆ eG_

template<typename Real>
Ptr<Vector<Real> > ROL::Bundle_U< Real >::eG_
private

Definition at line 71 of file ROL_Bundle_U.hpp.

◆ yG_

template<typename Real>
Ptr<Vector<Real> > ROL::Bundle_U< Real >::yG_
private

Definition at line 72 of file ROL_Bundle_U.hpp.

◆ gx_

template<typename Real>
Ptr<Vector<Real> > ROL::Bundle_U< Real >::gx_
private

Definition at line 73 of file ROL_Bundle_U.hpp.

◆ ge_

template<typename Real>
Ptr<Vector<Real> > ROL::Bundle_U< Real >::ge_
private

Definition at line 74 of file ROL_Bundle_U.hpp.

◆ size_

template<typename Real>
unsigned ROL::Bundle_U< Real >::size_
private

Definition at line 76 of file ROL_Bundle_U.hpp.

◆ maxSize_

template<typename Real>
unsigned ROL::Bundle_U< Real >::maxSize_
private

Definition at line 78 of file ROL_Bundle_U.hpp.

◆ remSize_

template<typename Real>
unsigned ROL::Bundle_U< Real >::remSize_
private

Definition at line 79 of file ROL_Bundle_U.hpp.

◆ coeff_

template<typename Real>
Real ROL::Bundle_U< Real >::coeff_
private

Definition at line 80 of file ROL_Bundle_U.hpp.

◆ omega_

template<typename Real>
Real ROL::Bundle_U< Real >::omega_
private

Definition at line 81 of file ROL_Bundle_U.hpp.

◆ isInitialized_

template<typename Real>
bool ROL::Bundle_U< Real >::isInitialized_
private

Definition at line 83 of file ROL_Bundle_U.hpp.


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