44#ifndef ROL_QUADRATIC_OBJECTIVE_H
45#define ROL_QUADRATIC_OBJECTIVE_H
69template<
typename Real>
72 const Ptr<const LinearOperator<Real>>
H_;
73 const Ptr<const Vector<Real>>
g_;
Provides the interface to apply a linear operator.
Provides the interface to evaluate objective functions.
Provides the interface to evaluate quadratic objective functions.
void gradient(Vector< Real > &g, const Vector< Real > &x, Real &tol) override
Compute gradient.
const Ptr< const Vector< Real > > g_
const Ptr< const LinearOperator< Real > > H_
Ptr< Vector< Real > > tmp_
void invHessVec(Vector< Real > &hv, const Vector< Real > &v, const Vector< Real > &x, Real &tol) override
Apply inverse Hessian approximation to vector.
void hessVec(Vector< Real > &hv, const Vector< Real > &v, const Vector< Real > &x, Real &tol) override
Apply Hessian approximation to vector.
QuadraticObjective(const Ptr< const LinearOperator< Real > > &H, const Ptr< const Vector< Real > > &g, Real c=Real(0))
Real value(const Vector< Real > &x, Real &tol) override
Compute value.
Defines the linear algebra or vector space interface.