44#ifndef ROL_SCALED_OBJECTIVE_DEF_HPP
45#define ROL_SCALED_OBJECTIVE_DEF_HPP
49template<
typename Real>
51 obj_->update(x,type,iter);
54template<
typename Real>
57 obj_->setParameter(param);
60template<
typename Real>
62 return scale_ *
obj_->value(x,tol);
65template<
typename Real>
67 obj_->gradient(g,x,tol);
71template<
typename Real>
73 obj_->hessVec(hv,v,x,tol);
77template<
typename Real>
79 obj_->invHessVec(hv,v,x,tol);
80 hv.
scale(
static_cast<Real
>(1)/scale_);
83template<
typename Real>
85 obj_->precond(Pv,v,x,tol);
86 Pv.
scale(
static_cast<Real
>(1)/scale_);
virtual void setParameter(const std::vector< Real > ¶m)
Real value(const Vector< Real > &x, Real &tol) override
Compute value.
void invHessVec(Vector< Real > &hv, const Vector< Real > &v, const Vector< Real > &x, Real &tol) override
Apply inverse Hessian approximation to vector.
void update(const Vector< Real > &x, UpdateType type, int iter=-1) override
Update objective function.
void setParameter(const std::vector< Real > ¶m) override
void hessVec(Vector< Real > &hv, const Vector< Real > &v, const Vector< Real > &x, Real &tol) override
Apply Hessian approximation to vector.
void gradient(Vector< Real > &g, const Vector< Real > &x, Real &tol) override
Compute gradient.
void precond(Vector< Real > &Pv, const Vector< Real > &v, const Vector< Real > &x, Real &tol) override
Apply preconditioner to vector.
Defines the linear algebra or vector space interface.
virtual void scale(const Real alpha)=0
Compute where .