71 return dynamic_cast<const SV&>(x).getVector();
76 return dynamic_cast<SV&>(x).getVector();
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] );
129 return dynamic_cast<const SV&>(x).getVector();
134 return dynamic_cast<SV&>(x).getVector();
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