44 #ifndef ROL_QUADRATIC_OBJECTIVE_H
45 #define ROL_QUADRATIC_OBJECTIVE_H
49 #include "ROL_Ptr.hpp"
73 const Ptr<const LinearOperator<Real>>
H_;
74 const Ptr<const Vector<Real>>
g_;
76 ROL::Ptr<Vector<Real>>
tmp_;
88 tmp_->scale(static_cast<Real>(0.5));
103 H_->applyInverse(hv,v,tol);
Provides the interface to evaluate objective functions.
Real value(const Vector< Real > &x, Real &tol)
Compute value.
void invHessVec(Vector< Real > &hv, const Vector< Real > &v, const Vector< Real > &x, Real &tol)
Apply inverse Hessian approximation to vector.
QuadraticObjective(const Ptr< const LinearOperator< Real >> &H, const Ptr< const Vector< Real >> &g, const Real c=0.0)
virtual void plus(const Vector &x)=0
Compute , where .
Provides the interface to evaluate quadratic objective functions.
Defines the linear algebra or vector space interface.
const Ptr< const LinearOperator< Real > > H_
virtual Real dot(const Vector &x) const =0
Compute where .
ROL::Ptr< Vector< Real > > tmp_
void gradient(Vector< Real > &g, const Vector< Real > &x, Real &tol)
Compute gradient.
void hessVec(Vector< Real > &hv, const Vector< Real > &v, const Vector< Real > &x, Real &tol)
Apply Hessian approximation to vector.
Provides the interface to apply a linear operator.
const Ptr< const Vector< Real > > g_