80 Teuchos::RCP<const vector> xp = Teuchos::dyn_cast<
const SV>(x).getVector();
85 Teuchos::RCP<const vector> xp = Teuchos::dyn_cast<
const SV>(x).getVector();
86 Teuchos::RCP<vector> gp = Teuchos::dyn_cast<
SV>(g).getVector();
111 Teuchos::RCP<vector> cp = Teuchos::dyn_cast<
SV>(c).getVector();
112 Teuchos::RCP<const vector> xp = Teuchos::dyn_cast<
const SV>(x).getVector();
114 (*cp)[0] = (*xp)[1]-std::pow((*xp)[0],3)-std::pow((*xp)[2],2);
120 Teuchos::RCP<vector> jvp = Teuchos::dyn_cast<
SV>(jv).getVector();
121 Teuchos::RCP<const vector> vp = Teuchos::dyn_cast<
const SV>(v).getVector();
122 Teuchos::RCP<const vector> xp = Teuchos::dyn_cast<
const SV>(x).getVector();
124 (*jvp)[0] = (*vp)[1] - 3.0*(*xp)[0]*(*xp)[0]*(*vp)[0] - 2.0*(*xp)[2]*(*vp)[2];
131 Teuchos::RCP<vector> ajvp = Teuchos::dyn_cast<
SV>(ajv).getVector();
132 Teuchos::RCP<const vector> vp = Teuchos::dyn_cast<
const SV>(v).getVector();
133 Teuchos::RCP<const vector> xp = Teuchos::dyn_cast<
const SV>(x).getVector();
135 (*ajvp)[0] = -3.0*(*xp)[0]*(*xp)[0]*(*vp)[0];
136 (*ajvp)[1] = (*vp)[0];
137 (*ajvp)[2] = -2.0*(*xp)[2]*(*vp)[0];
145 Teuchos::RCP<vector> ahuvp = Teuchos::dyn_cast<
SV>(ahuv).getVector();
146 Teuchos::RCP<const vector> up = Teuchos::dyn_cast<
const SV>(u).getVector();
147 Teuchos::RCP<const vector> vp = Teuchos::dyn_cast<
const SV>(v).getVector();
148 Teuchos::RCP<const vector> xp = Teuchos::dyn_cast<
const SV>(x).getVector();
150 (*ahuvp)[0] = -6.0*(*up)[0]*(*xp)[0]*(*vp)[0];
152 (*ahuvp)[2] = -2.0*(*up)[0]*(*vp)[2];
170 Teuchos::RCP<vector> cp = Teuchos::dyn_cast<
SV>(c).getVector();
171 Teuchos::RCP<const vector> xp = Teuchos::dyn_cast<
const SV>(x).getVector();
173 (*cp)[0] = std::pow((*xp)[0],2)-(*xp)[1]-std::pow((*xp)[3],2);
179 Teuchos::RCP<vector> jvp = Teuchos::dyn_cast<
SV>(jv).getVector();
180 Teuchos::RCP<const vector> vp = Teuchos::dyn_cast<
const SV>(v).getVector();
181 Teuchos::RCP<const vector> xp = Teuchos::dyn_cast<
const SV>(x).getVector();
183 (*jvp)[0] = 2.0*(*xp)[0]*(*vp)[0] - (*vp)[1] - 2.0*(*xp)[3]*(*vp)[3];
190 Teuchos::RCP<vector> ajvp = Teuchos::dyn_cast<
SV>(ajv).getVector();
191 Teuchos::RCP<const vector> vp = Teuchos::dyn_cast<
const SV>(v).getVector();
192 Teuchos::RCP<const vector> xp = Teuchos::dyn_cast<
const SV>(x).getVector();
194 (*ajvp)[0] = 2.0*(*xp)[0]*(*vp)[0];
195 (*ajvp)[1] = -(*vp)[0];
197 (*ajvp)[3] = -2.0*(*vp)[0]*(*xp)[3];
204 Teuchos::RCP<vector> ahuvp = Teuchos::dyn_cast<
SV>(ahuv).getVector();
205 Teuchos::RCP<const vector> up = Teuchos::dyn_cast<
const SV>(u).getVector();
206 Teuchos::RCP<const vector> vp = Teuchos::dyn_cast<
const SV>(v).getVector();
207 Teuchos::RCP<const vector> xp = Teuchos::dyn_cast<
const SV>(x).getVector();
211 (*ahuvp)[0] = 2.0*(*up)[0]*(*vp)[0];
214 (*ahuvp)[3] = -2.0*(*up)[0]*(*vp)[3];
void applyJacobian(Vector< Real > &jv, const Vector< Real > &v, const Vector< Real > &x, Real &tol)
Apply the constraint Jacobian at , , to vector .
Provides the interface to evaluate objective functions.
void hessVec(Vector< Real > &hv, const Vector< Real > &v, const Vector< Real > &x, Real &tol)
Apply Hessian approximation to 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 ...
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 ...
Contains definitions of custom data types in ROL.
virtual void zero()
Set to zero vector.
Defines the linear algebra or vector space interface.
std::vector< Real > vector
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 .
Defines the equality constraint operator interface.
void value(Vector< Real > &c, const Vector< Real > &x, Real &tol)
Evaluate the constraint operator at .
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 .
void gradient(Vector< Real > &g, const Vector< Real > &x, Real &tol)
Compute gradient.
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
std::vector< Real > vector
Real value(const Vector< Real > &x, Real &tol)
Compute value.
void value(Vector< Real > &c, const Vector< Real > &x, Real &tol)
Evaluate the constraint operator at .
W. Hock and K. Schittkowski 39th test function.