10 #ifndef ROL_BOUND_TO_CONSTRAINT_H
11 #define ROL_BOUND_TO_CONSTRAINT_H
15 template<
typename Real>
17 lo_ = makePtr<LowerBoundToConstraint<Real>>(bnd);
18 up_ = makePtr<UpperBoundToConstraint<Real>>(bnd);
22 template<
typename Real>
24 lo_ = makePtr<LowerBoundToConstraint<Real>>(lo);
25 up_ = makePtr<UpperBoundToConstraint<Real>>(up);
29 template<
typename Real>
37 template<
typename Real>
42 lo_->applyJacobian(jv0,v,x,tol);
43 up_->applyJacobian(jv1,v,x,tol);
46 template<
typename Real>
51 lo_->applyAdjointJacobian(ajv,v0,x,tol);
52 up_->applyAdjointJacobian(*tmp_,v1,x,tol);
56 template<
typename Real>
virtual ROL::Ptr< Vector > clone() const =0
Clone to make a new (uninitialized) vector.
virtual void plus(const Vector &x)=0
Compute , where .
Defines the linear algebra of vector space on a generic partitioned vector.
virtual void zero()
Set to zero vector.
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 .
Provides the interface to apply upper and lower bound constraints.
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 .
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 ...
BoundToConstraint(BoundConstraint< Real > &bnd)
void applyJacobian(Vector< Real > &jv, const Vector< Real > &v, const Vector< Real > &x, Real &tol) override
Apply the constraint Jacobian at , , to vector .