10#ifndef ROL_SCALED_OBJECTIVE_DEF_HPP
11#define ROL_SCALED_OBJECTIVE_DEF_HPP
15template<
typename Real>
17 obj_->update(x,type,iter);
20template<
typename Real>
23 obj_->setParameter(param);
26template<
typename Real>
28 return scale_ *
obj_->value(x,tol);
31template<
typename Real>
33 obj_->gradient(g,x,tol);
37template<
typename Real>
39 obj_->hessVec(hv,v,x,tol);
43template<
typename Real>
45 obj_->invHessVec(hv,v,x,tol);
46 hv.
scale(
static_cast<Real
>(1)/scale_);
49template<
typename Real>
51 obj_->precond(Pv,v,x,tol);
52 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 .