44 #ifndef ROL_SLACKLESSOBJECTIVE_HPP
45 #define ROL_SLACKLESSOBJECTIVE_HPP
61 ROL::Ptr<Objective<Real> >
obj_;
74 const int nvec =
static_cast<int>(xpv.
numVectors());
75 for (
int i = 1; i < nvec; ++i) {
120 obj_->setParameter(param);
126 #endif // ROL__SLACKLESSOBJECTIVE_HPP
Provides the interface to evaluate objective functions.
ROL::Ptr< Vector< Real > > getOpt(Vector< Real > &xs)
size_type numVectors() const
ROL::Ptr< const Vector< Real > > get(size_type i) const
void gradient(Vector< Real > &g, const Vector< Real > &x, Real &tol)
Compute gradient.
Defines the linear algebra of vector space on a generic partitioned vector.
void update(const Vector< Real > &x, bool flag=true, int iter=-1)
Update objective function.
Defines the linear algebra or vector space interface.
void setParameter(const std::vector< Real > ¶m)
Real value(const Vector< Real > &x, Real &tol)
Compute value.
SlacklessObjective(const ROL::Ptr< Objective< Real > > &obj)
void precond(Vector< Real > &Pv, const Vector< Real > &v, const Vector< Real > &x, Real &tol)
Apply preconditioner to vector.
Real dirDeriv(const Vector< Real > &x, const Vector< Real > &d, Real &tol)
Compute directional derivative.
void invHessVec(Vector< Real > &ihv, const Vector< Real > &v, const Vector< Real > &x, Real &tol)
Apply inverse Hessian approximation to vector.
This class strips out the slack variables from objective evaluations to create the new objective ...
virtual void setParameter(const std::vector< Real > ¶m)
void hessVec(Vector< Real > &hv, const Vector< Real > &v, const Vector< Real > &x, Real &tol)
Apply Hessian approximation to vector.
ROL::Ptr< const Vector< Real > > getOpt(const Vector< Real > &xs)
void zeroSlack(Vector< Real > &x)
ROL::Ptr< Objective< Real > > obj_