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

◆ LinMore()

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

Member Function Documentation

◆ initialize()

template<class Real >
void ROL::LinMore< Real >::initialize ( const Vector< Real > & x,
const Vector< Real > & s,
const Vector< Real > & g )
inlinevirtual

◆ run()

template<class Real >
void ROL::LinMore< Real >::run ( Vector< Real > & s,
Real & snorm,
int & iflag,
int & iter,
const Real del,
TrustRegionModel< Real > & model )
inlinevirtual

◆ dgpstep()

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

◆ dbreakpt()

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

◆ dcauchy()

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

◆ dprsrch()

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

◆ dtrqsol()

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().

◆ 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

◆ x_

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().

◆ s_

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().

◆ g_

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().

◆ pwa1_

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().

◆ pwa2_

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().

◆ dwa1_

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().

◆ dwa2_

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().

◆ tol1_

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

Definition at line 65 of file ROL_LinMore.hpp.

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

◆ tol2_

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().

◆ alpha_

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

Definition at line 65 of file ROL_LinMore.hpp.

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

◆ maxit_

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().

◆ verbosity_

template<class Real >
unsigned ROL::LinMore< Real >::verbosity_
private

◆ lbp_

template<class Real >
ROL::LinMore::LowerBreakPoint ROL::LinMore< Real >::lbp_
private

◆ ubp_

template<class Real >
ROL::LinMore::UpperBreakPoint ROL::LinMore< Real >::ubp_
private

◆ pmin_

template<class Real >
ROL::LinMore::PositiveMin ROL::LinMore< Real >::pmin_
private

◆ pmax_

template<class Real >
ROL::LinMore::PositiveMax ROL::LinMore< Real >::pmax_
private

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