86 return -(*xp)[0]*(*xp)[1]*(*xp)[2];
96 (*gp)[0] = -(*xp)[1]*(*xp)[2];
97 (*gp)[1] = -(*xp)[0]*(*xp)[2];
98 (*gp)[2] = -(*xp)[0]*(*xp)[1];
109 (*hvp)[0] = -( (*xp)[2]*(*vp)[1] + (*xp)[1]*(*vp)[2] );
110 (*hvp)[1] = -( (*xp)[2]*(*vp)[0] + (*xp)[0]*(*vp)[2] );
111 (*hvp)[2] = -( (*xp)[1]*(*vp)[0] + (*xp)[0]*(*vp)[1] );
146 (*cp)[0] = -std::pow((*xp)[0],2) - 2*std::pow((*xp)[1],2) - 4*std::pow((*xp)[2],2) + 48;
159 (*jvp)[0] = -2*(*xp)[0]*(*vp)[0] - 4*(*xp)[1]*(*vp)[1] - 8*(*xp)[2]*(*vp)[2];
172 (*ajvp)[0] = -2*(*xp)[0]*(*vp)[0];
173 (*ajvp)[1] = -4*(*xp)[1]*(*vp)[0];
174 (*ajvp)[2] = -8*(*xp)[2]*(*vp)[0];
188 (*ahuvp)[0] = -2*(*up)[0]*(*vp)[0];
189 (*ahuvp)[1] = -4*(*up)[0]*(*vp)[1];
190 (*ahuvp)[2] = -8*(*up)[0]*(*vp)[2];
203 return makePtr<Objective_HS29<Real>>();
207 return makePtr<InequalityConstraint_HS29<Real>>();
212 Ptr<std::vector<Real> > lp = makePtr<std::vector<Real>>(3, ROL_NINF<Real>());
215 Ptr<std::vector<Real> > up = makePtr<std::vector<Real>>(3, ROL_INF<Real>());
217 Ptr<Vector<Real> > l = makePtr<StdVector<Real>>(lp);
218 Ptr<Vector<Real> > u = makePtr<StdVector<Real>>(up);
220 return makePtr<Bounds<Real>>(l,u);
224 Ptr<std::vector<Real> > x0p = makePtr<std::vector<Real>>(3);
229 return makePtr<StdVector<Real>>(x0p);
233 Ptr<std::vector<Real> > xp = makePtr<std::vector<Real>>(3);
236 (*xp)[1] = 2.0*std::sqrt(2.0);
241 (*xp)[1] = -2.0*std::sqrt(2.0);
246 (*xp)[1] = 2.0*std::sqrt(2.0);
251 (*xp)[1] = -2.0*std::sqrt(2.0);
258 return makePtr<StdVector<Real>>(xp);
266 Ptr<std::vector<Real> > lp = makePtr<std::vector<Real>>(1,0.0);
267 return makePtr<StdVector<Real>>(lp);
272 Ptr<std::vector<Real> > lp = makePtr<std::vector<Real>>(1,0.0);
275 Ptr<std::vector<Real> > up = makePtr<std::vector<Real>>(1,ROL_INF<Real>());
277 Ptr<Vector<Real> > l = makePtr<StdVector<Real>>(lp);
278 Ptr<Vector<Real> > u = makePtr<StdVector<Real>>(up);
280 return makePtr<Bounds<Real>>(l,u);
288 #endif // ROL_HS29_HPP
Provides the interface to evaluate objective functions.
void applyAdjointJacobian(Vector< Real > &ajv, const Vector< Real > &v, const Vector< Real > &x, Real &tol)
Apply the adjoint of the the constraint Jacobian at , , to vector .
Ptr< vector > getVector(V &x)
Ptr< Constraint< Real > > getInequalityConstraint(void) const
int getNumSolutions(void) const
Ptr< Vector< Real > > getInitialGuess(void) const
Ptr< vector > getVector(V &x)
Ptr< const vector > getVector(const V &x)
void value(Vector< Real > &c, const Vector< Real > &x, Real &tol)
Evaluate the constraint operator at .
std::vector< Real > vector
Defines the linear algebra or vector space interface.
void hessVec(Vector< Real > &hv, const Vector< Real > &v, const Vector< Real > &x, Real &tol)
Apply Hessian approximation to vector.
Ptr< BoundConstraint< Real > > getBoundConstraint(void) const
Real value(const Vector< Real > &x, Real &tol)
Compute value.
Contains definitions of test objective functions.
void gradient(Vector< Real > &g, const Vector< Real > &x, Real &tol)
Compute gradient.
Ptr< Vector< Real > > getSolution(const int i=0) const
Ptr< Objective< Real > > getObjective(void) const
Ptr< Vector< Real > > getInequalityMultiplier(void) const
void applyJacobian(Vector< Real > &jv, const Vector< Real > &v, const Vector< Real > &x, Real &tol)
Apply the constraint Jacobian at , , to vector .
std::vector< Real > vector
void applyAdjointHessian(Vector< Real > &ahuv, const Vector< Real > &u, const Vector< Real > &v, const Vector< Real > &x, Real &tol)
Apply the derivative of the adjoint of the constraint Jacobian at to vector in direction ...
Defines the general constraint operator interface.
Ptr< BoundConstraint< Real > > getSlackBoundConstraint(void) const
Ptr< const vector > getVector(const V &x)