44 #ifndef ROL_SLACKLESSOBJECTIVE_HPP 45 #define ROL_SLACKLESSOBJECTIVE_HPP 69 Teuchos::RCP<Objective<Real> >
obj_;
72 return Teuchos::dyn_cast<
PV>(xs).
get(
OPT);
76 return Teuchos::dyn_cast<
const PV>(xs).
get(
OPT);
123 obj_->setParameter(param);
129 #endif // ROL__SLACKLESSOBJECTIVE_HPP Provides the interface to evaluate objective functions.
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.
static const size_type SLACK
void update(const Vector< Real > &x, bool flag=true, int iter=-1)
Update objective function.
Defines the linear algebra or vector space interface.
SlacklessObjective(const Teuchos::RCP< Objective< Real > > &obj)
void setParameter(const std::vector< Real > ¶m)
Teuchos::RCP< Vector< Real > > getOpt(Vector< Real > &xs)
void zero()
Set to zero vector.
Real value(const Vector< Real > &x, Real &tol)
Compute value.
void precond(Vector< Real > &Pv, const Vector< Real > &v, const Vector< Real > &x, Real &tol)
Apply preconditioner to vector.
static const size_type OPT
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)
Teuchos::RCP< const Vector< Real > > getOpt(const Vector< Real > &xs)
std::vector< PV >::size_type size_type
void hessVec(Vector< Real > &hv, const Vector< Real > &v, const Vector< Real > &x, Real &tol)
Apply Hessian approximation to vector.
ROL::PartitionedVector< Real > PV
Teuchos::RCP< Objective< Real > > obj_
void zeroSlack(Vector< Real > &x)