|
ROL
|
Provides the interface to evaluate nonlinear least squares objective functions. More...
#include <ROL_NonlinearLeastSquaresObjective_Dynamic.hpp>
Inheritance diagram for ROL::NonlinearLeastSquaresObjective_Dynamic< Real >:Public Member Functions | |
| NonlinearLeastSquaresObjective_Dynamic (const Ptr< DynamicConstraint< Real > > &con, const Vector< Real > &c, const Ptr< const Vector< Real > > &uo, const Ptr< const Vector< Real > > &z, const Ptr< const TimeStamp< Real > > &ts, const bool GNH=false) | |
| Constructor. | |
| void | update (const Vector< Real > &u, bool flag=true, int iter=-1) |
| Real | value (const Vector< Real > &x, Real &tol) |
| void | gradient (Vector< Real > &g, const Vector< Real > &u, Real &tol) |
| void | hessVec (Vector< Real > &hv, const Vector< Real > &v, const Vector< Real > &u, Real &tol) |
| void | precond (Vector< Real > &pv, const Vector< Real > &v, const Vector< Real > &u, Real &tol) |
Public Member Functions inherited from ROL::ROL::Objective< Real > | |
| virtual | ~Objective () |
| Objective () | |
| virtual void | update (const Vector< Real > &x, UpdateType type, int iter=-1) |
| Update objective function. | |
| virtual void | update (const Vector< Real > &x, bool flag=true, int iter=-1) |
| Update objective function. | |
| virtual Real | value (const Vector< Real > &x, Real &tol)=0 |
| Compute value. | |
| virtual void | gradient (Vector< Real > &g, const Vector< Real > &x, Real &tol) |
| Compute gradient. | |
| virtual Real | dirDeriv (const Vector< Real > &x, const Vector< Real > &d, Real &tol) |
| Compute directional derivative. | |
| virtual void | hessVec (Vector< Real > &hv, const Vector< Real > &v, const Vector< Real > &x, Real &tol) |
| Apply Hessian approximation to vector. | |
| virtual void | invHessVec (Vector< Real > &hv, const Vector< Real > &v, const Vector< Real > &x, Real &tol) |
| Apply inverse Hessian approximation to vector. | |
| virtual void | precond (Vector< Real > &Pv, const Vector< Real > &v, const Vector< Real > &x, Real &tol) |
| Apply preconditioner to vector. | |
| virtual std::vector< std::vector< Real > > | checkGradient (const Vector< Real > &x, const Vector< Real > &d, const bool printToStream=true, std::ostream &outStream=std::cout, const int numSteps=ROL_NUM_CHECKDERIV_STEPS, const int order=1) |
| Finite-difference gradient check. | |
| virtual std::vector< std::vector< Real > > | checkGradient (const Vector< Real > &x, const Vector< Real > &g, const Vector< Real > &d, const bool printToStream=true, std::ostream &outStream=std::cout, const int numSteps=ROL_NUM_CHECKDERIV_STEPS, const int order=1) |
| Finite-difference gradient check. | |
| virtual std::vector< std::vector< Real > > | checkGradient (const Vector< Real > &x, const Vector< Real > &d, const std::vector< Real > &steps, const bool printToStream=true, std::ostream &outStream=std::cout, const int order=1) |
| Finite-difference gradient check with specified step sizes. | |
| virtual std::vector< std::vector< Real > > | checkGradient (const Vector< Real > &x, const Vector< Real > &g, const Vector< Real > &d, const std::vector< Real > &steps, const bool printToStream=true, std::ostream &outStream=std::cout, const int order=1) |
| Finite-difference gradient check with specified step sizes. | |
| virtual std::vector< std::vector< Real > > | checkHessVec (const Vector< Real > &x, const Vector< Real > &v, const bool printToStream=true, std::ostream &outStream=std::cout, const int numSteps=ROL_NUM_CHECKDERIV_STEPS, const int order=1) |
| Finite-difference Hessian-applied-to-vector check. | |
| virtual std::vector< std::vector< Real > > | checkHessVec (const Vector< Real > &x, const Vector< Real > &hv, const Vector< Real > &v, const bool printToStream=true, std::ostream &outStream=std::cout, const int numSteps=ROL_NUM_CHECKDERIV_STEPS, const int order=1) |
| Finite-difference Hessian-applied-to-vector check. | |
| virtual std::vector< std::vector< Real > > | checkHessVec (const Vector< Real > &x, const Vector< Real > &v, const std::vector< Real > &steps, const bool printToStream=true, std::ostream &outStream=std::cout, const int order=1) |
| Finite-difference Hessian-applied-to-vector check with specified step sizes. | |
| virtual std::vector< std::vector< Real > > | checkHessVec (const Vector< Real > &x, const Vector< Real > &hv, const Vector< Real > &v, const std::vector< Real > &steps, const bool printToStream=true, std::ostream &outStream=std::cout, const int order=1) |
| Finite-difference Hessian-applied-to-vector check with specified step sizes. | |
| virtual std::vector< Real > | checkHessSym (const Vector< Real > &x, const Vector< Real > &v, const Vector< Real > &w, const bool printToStream=true, std::ostream &outStream=std::cout) |
| Hessian symmetry check. | |
| virtual std::vector< Real > | checkHessSym (const Vector< Real > &x, const Vector< Real > &hv, const Vector< Real > &v, const Vector< Real > &w, const bool printToStream=true, std::ostream &outStream=std::cout) |
| Hessian symmetry check. | |
| virtual void | setParameter (const std::vector< Real > ¶m) |
Private Attributes | |
| const Ptr< DynamicConstraint< Real > > | con_ |
| const Ptr< const Vector< Real > > | uo_ |
| const Ptr< const Vector< Real > > | z_ |
| const Ptr< const TimeStamp< Real > > | ts_ |
| const bool | GaussNewtonHessian_ |
| Ptr< Vector< Real > > | c1_ |
| Ptr< Vector< Real > > | c2_ |
| Ptr< Vector< Real > > | cdual_ |
| Ptr< Vector< Real > > | udual_ |
Additional Inherited Members | |
Protected Member Functions inherited from ROL::ROL::Objective< Real > | |
| const std::vector< Real > | getParameter (void) const |
Provides the interface to evaluate nonlinear least squares objective functions.
ROL's nonlinear least squares objective function interface constructs the the nonlinear least squares objective function associated with the equality constraint \(c_n(u_{n-1},u_n,z)=0\). That is, given \(z\) and \(u_{n-1}\),
\[ J(u) = \langle \mathfrak{R} c_n(u_{n-1},u,z),c_n(u_{n-1},u,z) \rangle_{\mathcal{C}^*,\mathcal{C}} \]
where \(c_n:\mathcal{U}\times\mathcal{U}\times\mathcal{Z}\to\mathcal{C}\) and \(\mathfrak{R}\in\mathcal{L}(\mathcal{C},\mathcal{C}^*)\) denotes the Riesz map from \(\mathcal{C}\) into \(\mathcal{C}^*\).
Definition at line 76 of file ROL_NonlinearLeastSquaresObjective_Dynamic.hpp.
|
inline |
Constructor.
This function constructs a nonlinear least squares objective function.
| [in] | con | is the nonlinear equation to be solved. |
| [in] | vec | is a constraint space vector used for cloning. |
| [in] | GHN | is a flag dictating whether or not to use the Gauss-Newton Hessian. |
Definition at line 94 of file ROL_NonlinearLeastSquaresObjective_Dynamic.hpp.
References ROL::NonlinearLeastSquaresObjective_Dynamic< Real >::c1_, ROL::NonlinearLeastSquaresObjective_Dynamic< Real >::c2_, ROL::NonlinearLeastSquaresObjective_Dynamic< Real >::cdual_, ROL::Vector< Real >::clone(), ROL::Vector< Real >::dual(), and ROL::NonlinearLeastSquaresObjective_Dynamic< Real >::udual_.
|
inline |
Definition at line 107 of file ROL_NonlinearLeastSquaresObjective_Dynamic.hpp.
References ROL::NonlinearLeastSquaresObjective_Dynamic< Real >::c1_, ROL::NonlinearLeastSquaresObjective_Dynamic< Real >::cdual_, ROL::NonlinearLeastSquaresObjective_Dynamic< Real >::con_, ROL::NonlinearLeastSquaresObjective_Dynamic< Real >::ts_, ROL::NonlinearLeastSquaresObjective_Dynamic< Real >::uo_, and ROL::NonlinearLeastSquaresObjective_Dynamic< Real >::z_.
|
inline |
Definition at line 114 of file ROL_NonlinearLeastSquaresObjective_Dynamic.hpp.
References ROL::NonlinearLeastSquaresObjective_Dynamic< Real >::c1_, and ROL::NonlinearLeastSquaresObjective_Dynamic< Real >::cdual_.
|
inline |
Definition at line 119 of file ROL_NonlinearLeastSquaresObjective_Dynamic.hpp.
References ROL::NonlinearLeastSquaresObjective_Dynamic< Real >::cdual_, ROL::NonlinearLeastSquaresObjective_Dynamic< Real >::con_, ROL::NonlinearLeastSquaresObjective_Dynamic< Real >::ts_, ROL::NonlinearLeastSquaresObjective_Dynamic< Real >::uo_, and ROL::NonlinearLeastSquaresObjective_Dynamic< Real >::z_.
|
inline |
Definition at line 123 of file ROL_NonlinearLeastSquaresObjective_Dynamic.hpp.
References ROL::NonlinearLeastSquaresObjective_Dynamic< Real >::c2_, ROL::NonlinearLeastSquaresObjective_Dynamic< Real >::cdual_, ROL::NonlinearLeastSquaresObjective_Dynamic< Real >::con_, ROL::Vector< Real >::dual(), ROL::NonlinearLeastSquaresObjective_Dynamic< Real >::GaussNewtonHessian_, ROL::Vector< Real >::plus(), ROL::NonlinearLeastSquaresObjective_Dynamic< Real >::ts_, ROL::NonlinearLeastSquaresObjective_Dynamic< Real >::udual_, ROL::NonlinearLeastSquaresObjective_Dynamic< Real >::uo_, and ROL::NonlinearLeastSquaresObjective_Dynamic< Real >::z_.
|
inline |
Definition at line 132 of file ROL_NonlinearLeastSquaresObjective_Dynamic.hpp.
References ROL::NonlinearLeastSquaresObjective_Dynamic< Real >::cdual_, ROL::NonlinearLeastSquaresObjective_Dynamic< Real >::con_, ROL::Vector< Real >::dual(), ROL::NonlinearLeastSquaresObjective_Dynamic< Real >::ts_, ROL::NonlinearLeastSquaresObjective_Dynamic< Real >::uo_, and ROL::NonlinearLeastSquaresObjective_Dynamic< Real >::z_.
|
private |
Definition at line 78 of file ROL_NonlinearLeastSquaresObjective_Dynamic.hpp.
Referenced by ROL::NonlinearLeastSquaresObjective_Dynamic< Real >::gradient(), ROL::NonlinearLeastSquaresObjective_Dynamic< Real >::hessVec(), ROL::NonlinearLeastSquaresObjective_Dynamic< Real >::precond(), and ROL::NonlinearLeastSquaresObjective_Dynamic< Real >::update().
|
private |
Definition at line 79 of file ROL_NonlinearLeastSquaresObjective_Dynamic.hpp.
Referenced by ROL::NonlinearLeastSquaresObjective_Dynamic< Real >::gradient(), ROL::NonlinearLeastSquaresObjective_Dynamic< Real >::hessVec(), ROL::NonlinearLeastSquaresObjective_Dynamic< Real >::precond(), and ROL::NonlinearLeastSquaresObjective_Dynamic< Real >::update().
|
private |
Definition at line 80 of file ROL_NonlinearLeastSquaresObjective_Dynamic.hpp.
Referenced by ROL::NonlinearLeastSquaresObjective_Dynamic< Real >::gradient(), ROL::NonlinearLeastSquaresObjective_Dynamic< Real >::hessVec(), ROL::NonlinearLeastSquaresObjective_Dynamic< Real >::precond(), and ROL::NonlinearLeastSquaresObjective_Dynamic< Real >::update().
|
private |
Definition at line 81 of file ROL_NonlinearLeastSquaresObjective_Dynamic.hpp.
Referenced by ROL::NonlinearLeastSquaresObjective_Dynamic< Real >::gradient(), ROL::NonlinearLeastSquaresObjective_Dynamic< Real >::hessVec(), ROL::NonlinearLeastSquaresObjective_Dynamic< Real >::precond(), and ROL::NonlinearLeastSquaresObjective_Dynamic< Real >::update().
|
private |
Definition at line 82 of file ROL_NonlinearLeastSquaresObjective_Dynamic.hpp.
Referenced by ROL::NonlinearLeastSquaresObjective_Dynamic< Real >::hessVec().
|
private |
Definition at line 84 of file ROL_NonlinearLeastSquaresObjective_Dynamic.hpp.
Referenced by ROL::NonlinearLeastSquaresObjective_Dynamic< Real >::NonlinearLeastSquaresObjective_Dynamic(), ROL::NonlinearLeastSquaresObjective_Dynamic< Real >::update(), and ROL::NonlinearLeastSquaresObjective_Dynamic< Real >::value().
|
private |
Definition at line 84 of file ROL_NonlinearLeastSquaresObjective_Dynamic.hpp.
Referenced by ROL::NonlinearLeastSquaresObjective_Dynamic< Real >::hessVec(), and ROL::NonlinearLeastSquaresObjective_Dynamic< Real >::NonlinearLeastSquaresObjective_Dynamic().
|
private |
Definition at line 84 of file ROL_NonlinearLeastSquaresObjective_Dynamic.hpp.
Referenced by ROL::NonlinearLeastSquaresObjective_Dynamic< Real >::gradient(), ROL::NonlinearLeastSquaresObjective_Dynamic< Real >::hessVec(), ROL::NonlinearLeastSquaresObjective_Dynamic< Real >::NonlinearLeastSquaresObjective_Dynamic(), ROL::NonlinearLeastSquaresObjective_Dynamic< Real >::precond(), ROL::NonlinearLeastSquaresObjective_Dynamic< Real >::update(), and ROL::NonlinearLeastSquaresObjective_Dynamic< Real >::value().
|
private |
Definition at line 84 of file ROL_NonlinearLeastSquaresObjective_Dynamic.hpp.
Referenced by ROL::NonlinearLeastSquaresObjective_Dynamic< Real >::hessVec(), and ROL::NonlinearLeastSquaresObjective_Dynamic< Real >::NonlinearLeastSquaresObjective_Dynamic().