52 return -(*xp)[0]*(*xp)[1]*(*xp)[2];
62 (*gp)[0] = -(*xp)[1]*(*xp)[2];
63 (*gp)[1] = -(*xp)[0]*(*xp)[2];
64 (*gp)[2] = -(*xp)[0]*(*xp)[1];
75 (*hvp)[0] = -( (*xp)[2]*(*vp)[1] + (*xp)[1]*(*vp)[2] );
76 (*hvp)[1] = -( (*xp)[2]*(*vp)[0] + (*xp)[0]*(*vp)[2] );
77 (*hvp)[2] = -( (*xp)[1]*(*vp)[0] + (*xp)[0]*(*vp)[1] );
112 (*cp)[0] = -std::pow((*xp)[0],2) - 2*std::pow((*xp)[1],2) - 4*std::pow((*xp)[2],2) + 48;
125 (*jvp)[0] = -2*(*xp)[0]*(*vp)[0] - 4*(*xp)[1]*(*vp)[1] - 8*(*xp)[2]*(*vp)[2];
138 (*ajvp)[0] = -2*(*xp)[0]*(*vp)[0];
139 (*ajvp)[1] = -4*(*xp)[1]*(*vp)[0];
140 (*ajvp)[2] = -8*(*xp)[2]*(*vp)[0];
154 (*ahuvp)[0] = -2*(*up)[0]*(*vp)[0];
155 (*ahuvp)[1] = -4*(*up)[0]*(*vp)[1];
156 (*ahuvp)[2] = -8*(*up)[0]*(*vp)[2];
169 return makePtr<Objective_HS29<Real>>();
173 return makePtr<InequalityConstraint_HS29<Real>>();
178 Ptr<std::vector<Real> > lp = makePtr<std::vector<Real>>(3, ROL_NINF<Real>());
181 Ptr<std::vector<Real> > up = makePtr<std::vector<Real>>(3, ROL_INF<Real>());
183 Ptr<Vector<Real> > l = makePtr<StdVector<Real>>(lp);
184 Ptr<Vector<Real> > u = makePtr<StdVector<Real>>(up);
186 return makePtr<Bounds<Real>>(l,u);
190 Ptr<std::vector<Real> > x0p = makePtr<std::vector<Real>>(3);
195 return makePtr<StdVector<Real>>(x0p);
199 Ptr<std::vector<Real> > xp = makePtr<std::vector<Real>>(3);
202 (*xp)[1] = 2.0*std::sqrt(2.0);
207 (*xp)[1] = -2.0*std::sqrt(2.0);
212 (*xp)[1] = 2.0*std::sqrt(2.0);
217 (*xp)[1] = -2.0*std::sqrt(2.0);
224 return makePtr<StdVector<Real>>(xp);
232 Ptr<std::vector<Real> > lp = makePtr<std::vector<Real>>(1,0.0);
233 return makePtr<StdVector<Real>>(lp);
238 Ptr<std::vector<Real> > lp = makePtr<std::vector<Real>>(1,0.0);
241 Ptr<std::vector<Real> > up = makePtr<std::vector<Real>>(1,ROL_INF<Real>());
243 Ptr<Vector<Real> > l = makePtr<StdVector<Real>>(lp);
244 Ptr<Vector<Real> > u = makePtr<StdVector<Real>>(up);
246 return makePtr<Bounds<Real>>(l,u);
254 #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)