Provides the interface to evaluate nonlinear least squares objective functions.
More...
|
| | NonlinearLeastSquaresObjective (const Ptr< Constraint< Real > > &con, const Vector< Real > &optvec, const Vector< Real > &convec, const bool GNH=false) |
| | Constructor.
|
| void | update (const Vector< Real > &x, UpdateType type, int iter=-1) override |
| void | update (const Vector< Real > &x, bool flag=true, int iter=-1) override |
| Real | value (const Vector< Real > &x, Real &tol) override |
| void | gradient (Vector< Real > &g, const Vector< Real > &x, Real &tol) override |
| void | hessVec (Vector< Real > &hv, const Vector< Real > &v, const Vector< Real > &x, Real &tol) override |
| void | precond (Vector< Real > &Pv, const Vector< Real > &v, const Vector< Real > &x, Real &tol) override |
| void | setParameter (const std::vector< Real > ¶m) override |
| 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 void | prox (Vector< Real > &Pv, const Vector< Real > &v, Real t, Real &tol) |
| | Compute the proximity operator.
|
| virtual void | proxJacVec (Vector< Real > &Jv, const Vector< Real > &v, const Vector< Real > &x, Real t, Real &tol) |
| | Apply the Jacobian of the proximity operator.
|
| 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 std::vector< std::vector< Real > > | checkProxJacVec (const Vector< Real > &x, const Vector< Real > &v, Real t=Real(1), bool printToStream=true, std::ostream &outStream=std::cout, int numSteps=ROL_NUM_CHECKDERIV_STEPS) |
| | Finite-difference proximity operator Jacobian-applied-to-vector check.
|
template<typename Real>
class ROL::NonlinearLeastSquaresObjective< Real >
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(x)=0\). That is,
\[ J(x) = \langle \mathfrak{R} c(x),c(x) \rangle_{\mathcal{C}^*,\mathcal{C}}
\]
where \(c:\mathcal{X}\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 39 of file ROL_NonlinearLeastSquaresObjective.hpp.