10 #ifndef ROL_CONSTRAINT_PARTITIONED_H
11 #define ROL_CONSTRAINT_PARTITIONED_H
24 template<
typename Real>
27 std::vector<Ptr<Constraint<Real>>>
cvec_;
36 bool isInequality =
false,
39 std::vector<bool> isInequality,
43 Ptr<Constraint<Real>>
get(
int ind = 0)
const;
70 void setParameter(
const std::vector<Real> ¶m)
override;
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 setParameter(const std::vector< Real > ¶m) override
void value(Vector< Real > &c, const Vector< Real > &x, Real &tol) override
Evaluate the constraint operator at .
std::vector< Ptr< Constraint< Real > > > cvec_
Defines the linear algebra or vector space 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 .
virtual 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...
Vector< Real > & getOpt(Vector< Real > &xs) const
Constraint_Partitioned(const std::vector< Ptr< Constraint< Real >>> &cvec, bool isInequality=false, int offset=0)
void applyJacobian(Vector< Real > &jv, const Vector< Real > &v, const Vector< Real > &x, Real &tol) override
Apply the constraint Jacobian at , , to vector .
Has both inequality and equality constraints. Treat inequality constraint as equality with slack vari...
int getNumberConstraintEvaluations(void) const
Vector< Real > & getSlack(Vector< Real > &xs, int ind) const
std::vector< bool > isInequality_
void update(const Vector< Real > &x, UpdateType type, int iter=-1) override
Update constraint function.
Defines the general constraint operator interface.
Ptr< Vector< Real > > scratch_