ROL
|
Provides interface for truncated CG trust-region subproblem solver. More...
#include <ROL_LinMore.hpp>
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_ |
Provides interface for truncated CG trust-region subproblem solver.
Definition at line 59 of file ROL_LinMore.hpp.
|
inline |
Definition at line 125 of file ROL_LinMore.hpp.
References ROL::LinMore< Real >::maxit_, ROL::LinMore< Real >::tol1_, ROL::LinMore< Real >::tol2_, and ROL::LinMore< Real >::verbosity_.
|
inlinevirtual |
Reimplemented from ROL::TrustRegion< Real >.
Definition at line 135 of file ROL_LinMore.hpp.
References ROL::Vector< Real >::clone(), ROL::LinMore< Real >::dwa1_, ROL::LinMore< Real >::dwa2_, ROL::LinMore< Real >::g_, ROL::TrustRegion< Real >::initialize(), ROL::LinMore< Real >::pwa1_, ROL::LinMore< Real >::pwa2_, ROL::LinMore< Real >::s_, and ROL::LinMore< Real >::x_.
|
inlinevirtual |
Implements ROL::TrustRegion< Real >.
Definition at line 142 of file ROL_LinMore.hpp.
References ROL::LinMore< Real >::alpha_, ROL::Vector< Real >::axpy(), ROL::LinMore< Real >::dcauchy(), dim, ROL::Vector< Real >::dimension(), ROL::Vector< Real >::dot(), ROL::LinMore< Real >::dprsrch(), ROL::LinMore< Real >::dtrpcg(), ROL::LinMore< Real >::dwa1_, ROL::LinMore< Real >::dwa2_, ROL::LinMore< Real >::g_, ROL::TrustRegionModel< Real >::getGradient(), ROL::TrustRegionModel< Real >::getIterate(), ROL::LinMore< Real >::maxit_, ROL::Vector< Real >::norm(), ROL::LinMore< Real >::pwa1_, ROL::LinMore< Real >::pwa2_, ROL::LinMore< Real >::s_, ROL::Vector< Real >::set(), ROL::TrustRegion< Real >::setPredictedReduction(), ROL::LinMore< Real >::tol2_, ROL::LinMore< Real >::verbosity_, ROL::LinMore< Real >::x_, and zero.
|
inlineprivate |
Definition at line 258 of file ROL_LinMore.hpp.
References ROL::Vector< Real >::axpy(), ROL::TrustRegionModel< Real >::getBoundConstraint(), ROL::Vector< Real >::norm(), and ROL::Vector< Real >::set().
Referenced by ROL::LinMore< Real >::dcauchy(), and ROL::LinMore< Real >::dprsrch().
|
inlineprivate |
Definition at line 275 of file ROL_LinMore.hpp.
References ROL::Vector< Real >::applyBinary(), ROL::Vector< Real >::axpy(), ROL::TrustRegionModel< Real >::getBoundConstraint(), ROL::LinMore< Real >::lbp_, ROL::Vector< Real >::norm(), ROL::LinMore< Real >::pmax_, ROL::LinMore< Real >::pmin_, ROL::Vector< Real >::reduce(), ROL::Vector< Real >::set(), ROL::LinMore< Real >::ubp_, ROL::LinMore< Real >::verbosity_, and zero.
Referenced by ROL::LinMore< Real >::dcauchy(), and ROL::LinMore< Real >::dprsrch().
|
inlineprivate |
Definition at line 327 of file ROL_LinMore.hpp.
References ROL::LinMore< Real >::dbreakpt(), ROL::LinMore< Real >::dgpstep(), ROL::Vector< Real >::dot(), ROL::Vector< Real >::dual(), ROL::Vector< Real >::scale(), and ROL::Vector< Real >::set().
Referenced by ROL::LinMore< Real >::run().
|
inlineprivate |
Definition at line 397 of file ROL_LinMore.hpp.
References ROL::LinMore< Real >::dbreakpt(), ROL::LinMore< Real >::dgpstep(), ROL::Vector< Real >::dot(), ROL::Vector< Real >::dual(), ROL::Vector< Real >::plus(), ROL::Vector< Real >::set(), and ROL::LinMore< Real >::verbosity_.
Referenced by ROL::LinMore< Real >::run().
|
inlineprivate |
Definition at line 442 of file ROL_LinMore.hpp.
References zero.
Referenced by ROL::LinMore< Real >::dtrpcg().
|
inlineprivate |
Definition at line 475 of file ROL_LinMore.hpp.
References ROL::Vector< Real >::axpy(), ROL::Vector< Real >::dot(), ROL::LinMore< Real >::dtrqsol(), ROL::Vector< Real >::dual(), ROL::Vector< Real >::norm(), ROL::Vector< Real >::plus(), ROL::Vector< Real >::scale(), ROL::Vector< Real >::set(), zero, and ROL::Vector< Real >::zero().
Referenced by ROL::LinMore< Real >::run().
|
private |
Definition at line 62 of file ROL_LinMore.hpp.
Referenced by ROL::LinMore< Real >::initialize(), and ROL::LinMore< Real >::run().
|
private |
Definition at line 62 of file ROL_LinMore.hpp.
Referenced by ROL::LinMore< Real >::initialize(), and ROL::LinMore< Real >::run().
|
private |
Definition at line 62 of file ROL_LinMore.hpp.
Referenced by ROL::LinMore< Real >::initialize(), and ROL::LinMore< Real >::run().
|
private |
Definition at line 63 of file ROL_LinMore.hpp.
Referenced by ROL::LinMore< Real >::initialize(), and ROL::LinMore< Real >::run().
|
private |
Definition at line 63 of file ROL_LinMore.hpp.
Referenced by ROL::LinMore< Real >::initialize(), and ROL::LinMore< Real >::run().
|
private |
Definition at line 63 of file ROL_LinMore.hpp.
Referenced by ROL::LinMore< Real >::initialize(), and ROL::LinMore< Real >::run().
|
private |
Definition at line 63 of file ROL_LinMore.hpp.
Referenced by ROL::LinMore< Real >::initialize(), and ROL::LinMore< Real >::run().
|
private |
Definition at line 65 of file ROL_LinMore.hpp.
Referenced by ROL::LinMore< Real >::LinMore().
|
private |
Definition at line 65 of file ROL_LinMore.hpp.
Referenced by ROL::LinMore< Real >::LinMore(), and ROL::LinMore< Real >::run().
|
private |
Definition at line 65 of file ROL_LinMore.hpp.
Referenced by ROL::LinMore< Real >::run().
|
private |
Definition at line 66 of file ROL_LinMore.hpp.
Referenced by ROL::LinMore< Real >::LinMore(), and ROL::LinMore< Real >::run().
|
private |
Definition at line 68 of file ROL_LinMore.hpp.
Referenced by ROL::LinMore< Real >::dbreakpt(), ROL::LinMore< Real >::dprsrch(), ROL::LinMore< Real >::LinMore(), and ROL::LinMore< Real >::run().
|
private |
Referenced by ROL::LinMore< Real >::dbreakpt().
|
private |
Referenced by ROL::LinMore< Real >::dbreakpt().
|
private |
Referenced by ROL::LinMore< Real >::dbreakpt().
|
private |
Referenced by ROL::LinMore< Real >::dbreakpt().