44 #ifndef ROL_BOUND_INEQUALITY_CONSTRAINT_H
45 #define ROL_BOUND_INEQUALITY_CONSTRAINT_H
61 Teuchos::RCP<InequalityConstraint<Real> >
lo_;
62 Teuchos::RCP<InequalityConstraint<Real> >
up_;
63 Teuchos::RCP<Vector<Real> >
tmp_;
88 lo_->applyJacobian(jv0,v,x,tol);
89 up_->applyJacobian(jv1,v,x,tol);
95 lo_->applyAdjointJacobian(ajv,v0,x,tol);
96 up_->applyAdjointJacobian(*
tmp_,v1,x,tol);
Provides an implementation for upper bound inequality constraints.
virtual void plus(const Vector &x)=0
Compute , where .
Teuchos::RCP< Vector< Real > > tmp_
Defines the linear algebra of vector space on a generic partitioned vector.
virtual Teuchos::RCP< Vector > clone() const =0
Clone to make a new (uninitialized) vector.
Provides an implementation for bound inequality constraints.
void value(Vector< Real > &c, const Vector< Real > &x, Real &tol)
Evaluate the constraint operator at .
virtual void zero()
Set to zero vector.
Defines the linear algebra or vector space interface.
Teuchos::RCP< InequalityConstraint< Real > > up_
BoundInequalityConstraint(BoundConstraint< Real > &bnd, const Vector< Real > &x)
Provides an implementation for lower bound inequality constraints.
Provides the interface to apply upper and lower bound constraints.
void applyJacobian(Vector< Real > &jv, const Vector< Real > &v, const Vector< Real > &x, Real &tol)
Apply the constraint Jacobian at , , to vector .
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 .
Provides a unique argument for inequality constraints, which otherwise behave exactly as equality con...
BoundInequalityConstraint(const Vector< Real > &lo, const Vector< Real > &up)
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 ...
Teuchos::RCP< InequalityConstraint< Real > > lo_