44 #ifndef ROL_OBJECTIVE_H
45 #define ROL_OBJECTIVE_H
177 const bool printToStream =
true,
178 std::ostream & outStream = std::cout,
180 const int order = 1 ) {
211 const bool printToStream =
true,
212 std::ostream & outStream = std::cout,
214 const int order = 1 );
239 const std::vector<Real> &steps,
240 const bool printToStream =
true,
241 std::ostream & outStream = std::cout,
242 const int order = 1 ) {
274 const std::vector<Real> &steps,
275 const bool printToStream =
true,
276 std::ostream & outStream = std::cout,
277 const int order = 1 );
301 const bool printToStream =
true,
302 std::ostream & outStream = std::cout,
304 const int order = 1 ) {
306 return checkHessVec(x, x, v, printToStream, outStream, numSteps, order);
334 const bool printToStream =
true,
335 std::ostream & outStream = std::cout,
337 const int order = 1) ;
362 const std::vector<Real> &steps,
363 const bool printToStream =
true,
364 std::ostream & outStream = std::cout,
365 const int order = 1 ) {
367 return checkHessVec(x, x, v, steps, printToStream, outStream, order);
395 const std::vector<Real> &steps,
396 const bool printToStream =
true,
397 std::ostream & outStream = std::cout,
398 const int order = 1) ;
418 const bool printToStream =
true,
419 std::ostream & outStream = std::cout ) {
421 return checkHessSym(x, x, v, w, printToStream, outStream);
444 const bool printToStream =
true,
445 std::ostream & outStream = std::cout );
Provides the interface to evaluate objective functions.
virtual const Vector & dual() const
Return dual representation of , for example, the result of applying a Riesz map, or change of basis...
virtual Real value(const Vector< Real > &x, Real &tol)=0
Compute value.
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.
Contains definitions of custom data types in ROL.
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 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.
Defines the linear algebra or vector space interface.
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 void gradient(Vector< Real > &g, const Vector< Real > &x, Real &tol)
Compute gradient.
virtual void invHessVec(Vector< Real > &hv, const Vector< Real > &v, const Vector< Real > &x, Real &tol)
Apply inverse Hessian approximation to vector.
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.
#define ROL_NUM_CHECKDERIV_STEPS
Number of steps for derivative checks.
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 void set(const Vector &x)
Set where .
virtual void update(const Vector< Real > &x, bool flag=true, int iter=-1)
Update objective function.
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.