44 #ifndef ROL_EQUALITY_CONSTRAINT_H
45 #define ROL_EQUALITY_CONSTRAINT_H
49 #include "Teuchos_SerialDenseMatrix.hpp"
50 #include "Teuchos_SerialDenseVector.hpp"
51 #include "Teuchos_LAPACK.hpp"
305 const std::vector<Real> &steps,
306 const bool printToStream =
true,
307 std::ostream & outStream = std::cout,
308 const int order = 1 ) ;
319 const bool printToStream =
true,
320 std::ostream & outStream = std::cout,
322 const int order = 1 ) ;
333 const bool printToStream =
true,
334 std::ostream & outStream = std::cout,
352 const bool printToStream =
true,
353 std::ostream & outStream = std::cout) {
362 const bool printToStream =
true,
363 std::ostream & outStream = std::cout);
375 const std::vector<Real> &step,
376 const bool printToScreen =
true,
377 std::ostream & outStream = std::cout,
378 const int order = 1 ) ;
388 const bool printToScreen =
true,
389 std::ostream & outStream = std::cout,
391 const int order = 1 ) ;
404 param_.assign(param.begin(),param.end());
virtual const Vector & dual() const
Return dual representation of , for example, the result of applying a Riesz map, or change of basis...
virtual Real checkAdjointConsistencyJacobian(const Vector< Real > &w, const Vector< Real > &v, const Vector< Real > &x, const bool printToStream=true, std::ostream &outStream=std::cout)
Contains definitions of custom data types in ROL.
bool isActivated(void)
Check if constraints are on.
virtual void setParameter(const std::vector< Real > ¶m)
virtual 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 ...
virtual std::vector< std::vector< Real > > checkApplyAdjointJacobian(const Vector< Real > &x, const Vector< Real > &v, const Vector< Real > &c, const Vector< Real > &ajv, const bool printToStream=true, std::ostream &outStream=std::cout, const int numSteps=ROL_NUM_CHECKDERIV_STEPS)
Finite-difference check for the application of the adjoint of constraint Jacobian.
Defines the linear algebra or vector space interface.
virtual std::vector< std::vector< Real > > checkApplyJacobian(const Vector< Real > &x, const Vector< Real > &v, const Vector< Real > &jv, const std::vector< Real > &steps, const bool printToStream=true, std::ostream &outStream=std::cout, const int order=1)
Finite-difference check for the constraint Jacobian application.
virtual void update(const Vector< Real > &x, bool flag=true, int iter=-1)
Update constraint functions. x is the optimization variable, flag = true if optimization variable is ...
virtual std::vector< Real > solveAugmentedSystem(Vector< Real > &v1, Vector< Real > &v2, const Vector< Real > &b1, const Vector< Real > &b2, const Vector< Real > &x, Real &tol)
Approximately solves the augmented system where , , , , is an identity or Riesz operator...
Defines the equality constraint operator interface.
virtual ~EqualityConstraint()
const std::vector< Real > getParameter(void) const
virtual 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 .
virtual bool isFeasible(const Vector< Real > &v)
Check if the vector, v, is feasible.
void deactivate(void)
Turn off constraints.
virtual void applyPreconditioner(Vector< Real > &pv, const Vector< Real > &v, const Vector< Real > &x, const Vector< Real > &g, Real &tol)
Apply a constraint preconditioner at , , to vector . Ideally, this preconditioner satisfies the follo...
#define ROL_NUM_CHECKDERIV_STEPS
Number of steps for derivative checks.
virtual void applyJacobian(Vector< Real > &jv, const Vector< Real > &v, const Vector< Real > &x, Real &tol)
Apply the constraint Jacobian at , , to vector .
void activate(void)
Turn on constraints.
virtual void set(const Vector &x)
Set where .
virtual std::vector< std::vector< Real > > checkApplyAdjointHessian(const Vector< Real > &x, const Vector< Real > &u, const Vector< Real > &v, const Vector< Real > &hv, const std::vector< Real > &step, const bool printToScreen=true, std::ostream &outStream=std::cout, const int order=1)
Finite-difference check for the application of the adjoint of constraint Hessian. ...
virtual void value(Vector< Real > &c, const Vector< Real > &x, Real &tol)=0
Evaluate the constraint operator at .
std::vector< Real > param_