10 #ifndef ROL_STDEQUALITY_CONSTRAINT_H
11 #define ROL_STDEQUALITY_CONSTRAINT_H
24 template<
typename Real>
31 virtual void update(
const std::vector<Real> &x,
bool flag =
true,
int iter = -1 ) {}
37 virtual void value( std::vector<Real> &c,
const std::vector<Real> &x, Real &tol ) = 0;
42 virtual void applyJacobian( std::vector<Real> &jv,
const std::vector<Real> &v,
43 const std::vector<Real> &x, Real &tol );
49 const std::vector<Real> &x, Real &tol );
55 const std::vector<Real> &v,
const std::vector<Real> &x,
63 const std::vector<Real> &b1,
const std::vector<Real> &b2,
64 const std::vector<Real> &x, Real tol );
70 const std::vector<Real> &x,
const std::vector<Real> &g, Real &tol );
Defines the equality constraint operator interface for StdVectors.
Defines the linear algebra or vector space interface.
void value(Vector< Real > &c, const Vector< Real > &x, Real &tol) override
Evaluate the constraint operator at .
virtual void update(const std::vector< Real > &x, UpdateType type, int iter=-1)
std::vector< Real > solveAugmentedSystem(Vector< Real > &v1, Vector< Real > &v2, const Vector< Real > &b1, const Vector< Real > &b2, const Vector< Real > &x, Real &tol) override
Approximately solves the augmented system where , , , , is an identity or Riesz operator...
void update(const Vector< Real > &x, bool flag=true, int iter=-1) override
Update constraint functions. x is the optimization variable, flag = true if optimization variable is ...
virtual void update(const std::vector< Real > &x, bool flag=true, int iter=-1)
void applyPreconditioner(Vector< Real > &pv, const Vector< Real > &v, const Vector< Real > &x, const Vector< Real > &g, Real &tol) override
Apply a constraint preconditioner at , , to vector . Ideally, this preconditioner satisfies the follo...
void applyAdjointHessian(Vector< Real > &ahuv, const Vector< Real > &u, const Vector< Real > &v, const Vector< Real > &x, 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 > &x, Real &tol) override
Apply the constraint Jacobian at , , to vector .
Defines the general constraint operator interface.
void applyAdjointJacobian(Vector< Real > &ajv, const Vector< Real > &v, const Vector< Real > &x, Real &tol) override
Apply the adjoint of the the constraint Jacobian at , , to vector .