ROL
Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
ROL::Bundle_U< Real > Class Template Referenceabstract

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

#include <ROL_Bundle_U.hpp>

+ Inheritance diagram for ROL::Bundle_U< Real >:

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

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

Definition at line 93 of file ROL_Bundle_U.hpp.

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

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

Definition at line 52 of file ROL_Bundle_U_Def.hpp.

References zero.

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

Definition at line 76 of file ROL_Bundle_U_Def.hpp.

References zero.

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

Reimplemented in ROL::Bundle_U_AS< Real >.

Definition at line 107 of file ROL_Bundle_U_Def.hpp.

References ROL::Vector< Real >::clone(), and zero.

Referenced by ROL::Bundle_U_AS< Real >::initialize().

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
template<typename Real >
const Real ROL::Bundle_U< Real >::linearizationError ( const unsigned  i) const

Definition at line 128 of file ROL_Bundle_U_Def.hpp.

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

Definition at line 133 of file ROL_Bundle_U_Def.hpp.

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

Definition at line 138 of file ROL_Bundle_U_Def.hpp.

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

Definition at line 153 of file ROL_Bundle_U_Def.hpp.

References zero.

Referenced by ROL::Bundle_U_TT< Real >::solveDual_TT().

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

Definition at line 159 of file ROL_Bundle_U_Def.hpp.

template<typename Real >
const Real ROL::Bundle_U< Real >::alpha ( const unsigned  i) const
template<typename Real >
unsigned ROL::Bundle_U< Real >::size ( void  ) const
template<typename Real >
void ROL::Bundle_U< Real >::aggregate ( Vector< Real > &  aggSubGrad,
Real &  aggLinErr,
Real &  aggDistMeas 
) const
template<typename Real >
void ROL::Bundle_U< Real >::reset ( const Vector< Real > &  g,
const Real  le,
const Real  dm 
)

Definition at line 205 of file ROL_Bundle_U_Def.hpp.

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 
)

Definition at line 233 of file ROL_Bundle_U_Def.hpp.

References zero.

template<typename Real >
const Real ROL::Bundle_U< Real >::GiGj ( const unsigned  i,
const unsigned  j 
) const
protected
template<typename Real >
const Real ROL::Bundle_U< Real >::dotGi ( const unsigned  i,
const Vector< Real > &  x 
) const
protected
template<typename Real >
void ROL::Bundle_U< Real >::addGi ( const unsigned  i,
const Real  a,
Vector< Real > &  x 
) const
protected
template<typename Real >
Real ROL::Bundle_U< Real >::evaluateObjective ( std::vector< Real > &  g,
const std::vector< Real > &  x,
const Real  t 
) const
protected

Definition at line 275 of file ROL_Bundle_U_Def.hpp.

Referenced by ROL::Bundle_U_AS< Real >::solveDual_arbitrary().

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

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

Definition at line 64 of file ROL_Bundle_U.hpp.

Referenced by ROL::Bundle_U< Real >::Bundle_U().

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

Definition at line 65 of file ROL_Bundle_U.hpp.

Referenced by ROL::Bundle_U< Real >::Bundle_U().

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

Definition at line 66 of file ROL_Bundle_U.hpp.

Referenced by ROL::Bundle_U< Real >::Bundle_U().

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

Definition at line 68 of file ROL_Bundle_U.hpp.

Referenced by ROL::Bundle_U< Real >::Bundle_U().

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

Definition at line 70 of file ROL_Bundle_U.hpp.

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

Definition at line 71 of file ROL_Bundle_U.hpp.

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

Definition at line 72 of file ROL_Bundle_U.hpp.

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

Definition at line 73 of file ROL_Bundle_U.hpp.

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

Definition at line 74 of file ROL_Bundle_U.hpp.

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

Definition at line 76 of file ROL_Bundle_U.hpp.

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

Definition at line 78 of file ROL_Bundle_U.hpp.

Referenced by ROL::Bundle_U< Real >::Bundle_U().

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

Definition at line 79 of file ROL_Bundle_U.hpp.

Referenced by ROL::Bundle_U< Real >::Bundle_U().

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

Definition at line 80 of file ROL_Bundle_U.hpp.

Referenced by ROL::Bundle_U< Real >::Bundle_U().

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

Definition at line 81 of file ROL_Bundle_U.hpp.

Referenced by ROL::Bundle_U< Real >::Bundle_U().

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 files: