44 #ifndef ROL_CONSTRAINT_STATE_DEF_H
45 #define ROL_CONSTRAINT_STATE_DEF_H
49 template<
typename Real>
51 const Ptr<
const Vector<Real>> &z,
52 bool inSolve) : con_(con), z_(z), inSolve_(inSolve), init_(false) {}
54 template<
typename Real>
56 con_->update_1(u,flag,iter);
60 template<
typename Real>
62 if (inSolve_) con_->solve_update(u,*z_,type,iter);
63 else con_->update_1(u,type,iter);
66 template<
typename Real>
68 con_->value(c,u,*z_,tol);
71 template<
typename Real>
73 con_->applyJacobian_1(jv,v,u,*z_,tol);
76 template<
typename Real>
78 con_->applyAdjointJacobian_1(ajv,v,u,*z_,tol);
81 template<
typename Real>
83 con_->applyAdjointHessian_11(ahwv,w,v,u,*z_,tol);
86 template<
typename Real>
92 con_->applyInverseJacobian_1(*ijv_,v,u,*z_,tol);
93 con_->applyInverseAdjointJacobian_1(pv,ijv_->dual(),u,*z_,tol);
96 template<
typename Real>
98 con_->setParameter(param);
SimConstraint(const Ptr< Constraint_SimOpt< Real >> &con, const Ptr< const Vector< Real >> &z, bool inSolve=false)
void value(Vector< Real > &c, const Vector< Real > &u, Real &tol) override
Evaluate the constraint operator at .
void applyAdjointJacobian(Vector< Real > &ajv, const Vector< Real > &v, const Vector< Real > &u, Real &tol) override
Apply the adjoint of the the constraint Jacobian at , , to vector .
void update(const Vector< Real > &u, bool flag=true, int iter=-1) override
Update constraint functions. x is the optimization variable, flag = true if optimization variable is ...
virtual void setParameter(const std::vector< Real > ¶m)
void applyAdjointHessian(Vector< Real > &ahwv, const Vector< Real > &w, const Vector< Real > &v, const Vector< Real > &u, Real &tol) override
Apply the derivative of the adjoint of the constraint Jacobian at to vector in direction ...
void applyJacobian(Vector< Real > &jv, const Vector< Real > &v, const Vector< Real > &u, Real &tol) override
Apply the constraint Jacobian at , , to vector .
void setParameter(const std::vector< Real > ¶m) override
void applyPreconditioner(Vector< Real > &pv, const Vector< Real > &v, const Vector< Real > &u, const Vector< Real > &g, Real &tol) override
Apply a constraint preconditioner at , , to vector . Ideally, this preconditioner satisfies the follo...