ROL
Classes | Public Member Functions | Private Member Functions | Private Attributes | List of all members
ROL::LinMore< Real > Class Template Reference

Provides interface for truncated CG trust-region subproblem solver. More...

#include <ROL_LinMore.hpp>

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

Classes

class  LowerBreakPoint
 
class  PositiveMax
 
class  PositiveMin
 
class  UpperBreakPoint
 

Public Member Functions

 LinMore (ROL::ParameterList &parlist)
 
void initialize (const Vector< Real > &x, const Vector< Real > &s, const Vector< Real > &g)
 
void run (Vector< Real > &s, Real &snorm, int &iflag, int &iter, const Real del, TrustRegionModel< Real > &model)
 
- Public Member Functions inherited from ROL::TrustRegion< Real >
virtual ~TrustRegion ()
 
 TrustRegion (ROL::ParameterList &parlist)
 
virtual void update (Vector< Real > &x, Real &fnew, Real &del, int &nfval, int &ngrad, ETrustRegionFlag &flagTR, const Vector< Real > &s, const Real snorm, const Real fold, const Vector< Real > &g, int iter, Objective< Real > &obj, BoundConstraint< Real > &bnd, TrustRegionModel< Real > &model)
 
void setPredictedReduction (const Real pRed)
 
Real getPredictedReduction (void) const
 

Private Member Functions

Real dgpstep (Vector< Real > &s, const Vector< Real > &w, const Vector< Real > &x, const Real alpha, TrustRegionModel< Real > &model) const
 
void dbreakpt (const Vector< Real > &x, const Vector< Real > &s, TrustRegionModel< Real > &model, Real &bpmin, Real &bpmax, Vector< Real > &pwa)
 
Real dcauchy (Vector< Real > &s, Real &alpha, const Vector< Real > &x, const Vector< Real > &g, const Real del, TrustRegionModel< Real > &model, Vector< Real > &pwa1, Vector< Real > &pwa2, Vector< Real > &dwa)
 
Real dprsrch (Vector< Real > &x, Vector< Real > &s, const Vector< Real > &g, TrustRegionModel< Real > &model, Vector< Real > &pwa, Vector< Real > &dwa)
 
Real dtrqsol (const Real xtx, const Real ptp, const Real ptx, const Real del)
 
Real dtrpcg (Vector< Real > &w, int &iflag, int &iter, const Vector< Real > &g, const Vector< Real > &x, const Real del, TrustRegionModel< Real > &model, const Real tol, const Real stol, const int itermax, Vector< Real > &p, Vector< Real > &q, Vector< Real > &r, Vector< Real > &t)
 

Private Attributes

Ptr< Vector< Real > > x_
 
Ptr< Vector< Real > > s_
 
Ptr< Vector< Real > > g_
 
Ptr< Vector< Real > > pwa1_
 
Ptr< Vector< Real > > pwa2_
 
Ptr< Vector< Real > > dwa1_
 
Ptr< Vector< Real > > dwa2_
 
Real tol1_
 
Real tol2_
 
Real alpha_
 
int maxit_
 
unsigned verbosity_
 
ROL::LinMore::LowerBreakPoint lbp_
 
ROL::LinMore::UpperBreakPoint ubp_
 
ROL::LinMore::PositiveMin pmin_
 
ROL::LinMore::PositiveMax pmax_
 

Detailed Description

template<class Real>
class ROL::LinMore< Real >

Provides interface for truncated CG trust-region subproblem solver.

Definition at line 59 of file ROL_LinMore.hpp.

Constructor & Destructor Documentation

template<class Real >
ROL::LinMore< Real >::LinMore ( ROL::ParameterList &  parlist)
inline

Member Function Documentation

template<class Real >
void ROL::LinMore< Real >::initialize ( const Vector< Real > &  x,
const Vector< Real > &  s,
const Vector< Real > &  g 
)
inlinevirtual
template<class Real >
void ROL::LinMore< Real >::run ( Vector< Real > &  s,
Real &  snorm,
int &  iflag,
int &  iter,
const Real  del,
TrustRegionModel< Real > &  model 
)
inlinevirtual
template<class Real >
Real ROL::LinMore< Real >::dgpstep ( Vector< Real > &  s,
const Vector< Real > &  w,
const Vector< Real > &  x,
const Real  alpha,
TrustRegionModel< Real > &  model 
) const
inlineprivate
template<class Real >
void ROL::LinMore< Real >::dbreakpt ( const Vector< Real > &  x,
const Vector< Real > &  s,
TrustRegionModel< Real > &  model,
Real &  bpmin,
Real &  bpmax,
Vector< Real > &  pwa 
)
inlineprivate
template<class Real >
Real ROL::LinMore< Real >::dcauchy ( Vector< Real > &  s,
Real &  alpha,
const Vector< Real > &  x,
const Vector< Real > &  g,
const Real  del,
TrustRegionModel< Real > &  model,
Vector< Real > &  pwa1,
Vector< Real > &  pwa2,
Vector< Real > &  dwa 
)
inlineprivate
template<class Real >
Real ROL::LinMore< Real >::dprsrch ( Vector< Real > &  x,
Vector< Real > &  s,
const Vector< Real > &  g,
TrustRegionModel< Real > &  model,
Vector< Real > &  pwa,
Vector< Real > &  dwa 
)
inlineprivate
template<class Real >
Real ROL::LinMore< Real >::dtrqsol ( const Real  xtx,
const Real  ptp,
const Real  ptx,
const Real  del 
)
inlineprivate

Definition at line 442 of file ROL_LinMore.hpp.

References zero.

Referenced by ROL::LinMore< Real >::dtrpcg().

template<class Real >
Real ROL::LinMore< Real >::dtrpcg ( Vector< Real > &  w,
int &  iflag,
int &  iter,
const Vector< Real > &  g,
const Vector< Real > &  x,
const Real  del,
TrustRegionModel< Real > &  model,
const Real  tol,
const Real  stol,
const int  itermax,
Vector< Real > &  p,
Vector< Real > &  q,
Vector< Real > &  r,
Vector< Real > &  t 
)
inlineprivate

Member Data Documentation

template<class Real >
Ptr<Vector<Real> > ROL::LinMore< Real >::x_
private

Definition at line 62 of file ROL_LinMore.hpp.

Referenced by ROL::LinMore< Real >::initialize(), and ROL::LinMore< Real >::run().

template<class Real >
Ptr<Vector<Real> > ROL::LinMore< Real >::s_
private

Definition at line 62 of file ROL_LinMore.hpp.

Referenced by ROL::LinMore< Real >::initialize(), and ROL::LinMore< Real >::run().

template<class Real >
Ptr<Vector<Real> > ROL::LinMore< Real >::g_
private

Definition at line 62 of file ROL_LinMore.hpp.

Referenced by ROL::LinMore< Real >::initialize(), and ROL::LinMore< Real >::run().

template<class Real >
Ptr<Vector<Real> > ROL::LinMore< Real >::pwa1_
private

Definition at line 63 of file ROL_LinMore.hpp.

Referenced by ROL::LinMore< Real >::initialize(), and ROL::LinMore< Real >::run().

template<class Real >
Ptr<Vector<Real> > ROL::LinMore< Real >::pwa2_
private

Definition at line 63 of file ROL_LinMore.hpp.

Referenced by ROL::LinMore< Real >::initialize(), and ROL::LinMore< Real >::run().

template<class Real >
Ptr<Vector<Real> > ROL::LinMore< Real >::dwa1_
private

Definition at line 63 of file ROL_LinMore.hpp.

Referenced by ROL::LinMore< Real >::initialize(), and ROL::LinMore< Real >::run().

template<class Real >
Ptr<Vector<Real> > ROL::LinMore< Real >::dwa2_
private

Definition at line 63 of file ROL_LinMore.hpp.

Referenced by ROL::LinMore< Real >::initialize(), and ROL::LinMore< Real >::run().

template<class Real >
Real ROL::LinMore< Real >::tol1_
private

Definition at line 65 of file ROL_LinMore.hpp.

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

template<class Real >
Real ROL::LinMore< Real >::tol2_
private

Definition at line 65 of file ROL_LinMore.hpp.

Referenced by ROL::LinMore< Real >::LinMore(), and ROL::LinMore< Real >::run().

template<class Real >
Real ROL::LinMore< Real >::alpha_
private

Definition at line 65 of file ROL_LinMore.hpp.

Referenced by ROL::LinMore< Real >::run().

template<class Real >
int ROL::LinMore< Real >::maxit_
private

Definition at line 66 of file ROL_LinMore.hpp.

Referenced by ROL::LinMore< Real >::LinMore(), and ROL::LinMore< Real >::run().

template<class Real >
unsigned ROL::LinMore< Real >::verbosity_
private
template<class Real >
ROL::LinMore::LowerBreakPoint ROL::LinMore< Real >::lbp_
private
template<class Real >
ROL::LinMore::UpperBreakPoint ROL::LinMore< Real >::ubp_
private
template<class Real >
ROL::LinMore::PositiveMin ROL::LinMore< Real >::pmin_
private
template<class Real >
ROL::LinMore::PositiveMax ROL::LinMore< Real >::pmax_
private

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