76 Teuchos::RCP<const vector> xp = Teuchos::dyn_cast<
const SV>(x).getVector();
78 return rt3_*(*xp)[0]*std::pow((*xp)[1],3)*((*xp)[0]-6)/81.0;
83 Teuchos::RCP<const vector> xp = Teuchos::dyn_cast<
const SV>(x).getVector();
85 Teuchos::RCP<vector> gp = Teuchos::dyn_cast<SV>(g).getVector();
87 (*gp)[0] = 2*rt3_*std::pow((*xp)[1],3)*((*xp)[0]-3)/81.0;
88 (*gp)[1] = rt3_*(*xp)[0]*std::pow((*xp)[1],2)*((*xp)[0]-6)/27.0;
95 Teuchos::RCP<const vector> xp = Teuchos::dyn_cast<
const SV>(x).getVector();
96 Teuchos::RCP<const vector> vp = Teuchos::dyn_cast<
const SV>(v).getVector();
97 Teuchos::RCP<vector> hvp = Teuchos::dyn_cast<SV>(hv).getVector();
99 Real a00 = pow((*xp)[1],3)/81.0;
100 Real a01 = pow((*xp)[1],2)*((*xp)[0]-3)/27.0;
101 Real a11 = (*xp)[1]*(std::pow((*xp)[0]-3,2)-9)/27.0;
103 (*hvp)[0] = a00*(*vp)[0] + a01*(*vp)[1];
104 (*hvp)[1] = a01*(*vp)[0] + a11*(*vp)[1];
126 Teuchos::RCP<const vector> xp = Teuchos::dyn_cast<
const SV>(x).getVector();
127 Teuchos::RCP<vector> cp = Teuchos::dyn_cast<SV>(c).getVector();
129 (*cp)[0] = (*xp)[0]/rt3_ - (*xp)[1];
130 (*cp)[1] = (*xp)[0] + rt3_*(*xp)[1];
131 (*cp)[2] = -(*xp)[0] - rt3_*(*xp)[1] + 6;
138 Teuchos::RCP<const vector> vp = Teuchos::dyn_cast<
const SV>(v).getVector();
139 Teuchos::RCP<vector> jvp = Teuchos::dyn_cast<SV>(jv).getVector();
141 (*jvp)[0] = (*vp)[0]/rt3_ - (*vp)[1];
142 (*jvp)[1] = (*vp)[0] + rt3_*(*vp)[1];
143 (*jvp)[2] = -(*vp)[0] - rt3_*(*vp)[1];
151 Teuchos::RCP<const vector> vp = Teuchos::dyn_cast<
const SV>(v).getVector();
152 Teuchos::RCP<vector> ajvp = Teuchos::dyn_cast<SV>(ajv).getVector();
154 (*ajvp)[0] = rt3_*(*vp)[0]/3 + (*vp)[1] - (*vp)[2];
155 (*ajvp)[1] = -(*vp)[0] + rt3_*(*vp)[1] - rt3_*(*vp)[2];
183 Teuchos::RCP<std::vector<Real> > lp = Teuchos::rcp(
new std::vector<Real>(2,0.0) );
186 Teuchos::RCP<std::vector<Real> > up = Teuchos::rcp(
new std::vector<Real>(2,
ROL_INF) );
188 Teuchos::RCP<Vector<Real> > l = Teuchos::rcp(
new StdVector<Real>(lp) );
189 Teuchos::RCP<Vector<Real> > u = Teuchos::rcp(
new StdVector<Real>(up) );
198 Teuchos::RCP<std::vector<Real> > x0p = Teuchos::rcp(
new std::vector<Real>(2) );
208 Teuchos::RCP<std::vector<Real> > xp = Teuchos::rcp(
new std::vector<Real>(2) );
210 (*xp)[1] = std::sqrt(3.0);
218 Teuchos::RCP<std::vector<Real> > lp = Teuchos::rcp(
new std::vector<Real>(3,0.0) );
229 #endif // ROL_HS24_HPP Provides the interface to evaluate objective functions.
virtual void scale(const Real alpha)=0
Compute where .
void hessVec(Vector< Real > &hv, const Vector< Real > &v, const Vector< Real > &x, Real &tol)
Apply Hessian approximation to vector.
Real value(const Vector< Real > &x, Real &tol)
Compute value.
Teuchos::RCP< BoundConstraint< Real > > getBoundConstraint_HS24(void)
std::vector< Real > vector
virtual void zero()
Set to zero vector.
Defines the linear algebra or vector space interface.
Teuchos::RCP< Vector< Real > > getSolution_HS24(void)
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 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 .
InequalityConstraint_HS24()
void applyJacobian(Vector< Real > &jv, const Vector< Real > &v, const Vector< Real > &x, Real &tol)
Apply the constraint Jacobian at , , to vector .
void gradient(Vector< Real > &g, const Vector< Real > &x, Real &tol)
Compute gradient.
Teuchos::RCP< Vector< Real > > getInitialGuess_HS24(void)
Provides the interface to apply upper and lower bound constraints.
static const double ROL_INF
void value(Vector< Real > &c, const Vector< Real > &x, Real &tol)
Evaluate the constraint operator at .
Teuchos::RCP< Objective< Real > > getObjective_HS24(void)
std::vector< Real > vector
Provides a unique argument for inequality constraints, which otherwise behave exactly as equality con...
Teuchos::RCP< Vector< Real > > getInequalityMultiplier_HS24(void)
Teuchos::RCP< InequalityConstraint< Real > > getInequalityConstraint_HS24(void)