10#ifndef ROL_SLACKLESSOBJECTIVE_DEF_HPP
11#define ROL_SLACKLESSOBJECTIVE_DEF_HPP
15template<
typename Real>
18template<
typename Real>
23template<
typename Real>
28template<
typename Real>
33template<
typename Real>
38template<
typename Real>
43template<
typename Real>
49template<
typename Real>
55template<
typename Real>
60 const int nvec =
static_cast<int>(vp.
numVectors());
61 for (
int i = 1; i < nvec; ++i) {
62 Pvp.
get(i)->set(vp.
get(i)->dual());
66template<
typename Real>
71 const int nvec =
static_cast<int>(vp.
numVectors());
72 for (
int i = 1; i < nvec; ++i) {
73 Pvp.
get(i)->set(vp.
get(i)->dual());
77template<
typename Real>
80 obj_->setParameter(param);
83template<
typename Real>
88template<
typename Real>
93template<
typename Real>
97 const int nvec =
static_cast<int>(xpv.
numVectors());
98 for (
int i = 1; i < nvec; ++i) {
virtual void setParameter(const std::vector< Real > ¶m)
Defines the linear algebra of vector space on a generic partitioned vector.
ROL::Ptr< const Vector< Real > > get(size_type i) const
size_type numVectors() const
Real value(const Vector< Real > &x, Real &tol) override
SlacklessObjective(const Ptr< Objective< Real > > &obj)
const Ptr< Objective< Real > > obj_
void invHessVec(Vector< Real > &ihv, const Vector< Real > &v, const Vector< Real > &x, Real &tol) override
void gradient(Vector< Real > &g, const Vector< Real > &x, Real &tol) override
void setParameter(const std::vector< Real > ¶m) override
Real dirDeriv(const Vector< Real > &x, const Vector< Real > &d, Real &tol) override
void update(const Vector< Real > &x, UpdateType type, int iter=-1) override
void precond(Vector< Real > &Pv, const Vector< Real > &v, const Vector< Real > &x, Real &tol) override
Ptr< Objective< Real > > getObjective(void) const
Ptr< Vector< Real > > getOpt(Vector< Real > &xs) const
void zeroSlack(Vector< Real > &x) const
void hessVec(Vector< Real > &hv, const Vector< Real > &v, const Vector< Real > &x, Real &tol) override
Defines the linear algebra or vector space interface.