Go to the documentation of this file.
44 #ifndef ROL_BOUND_TO_CONSTRAINT_H
45 #define ROL_BOUND_TO_CONSTRAINT_H
61 ROL::Ptr<InequalityConstraint<Real> >
lo_;
62 ROL::Ptr<InequalityConstraint<Real> >
up_;
63 ROL::Ptr<Vector<Real> >
tmp_;
67 lo_ = ROL::makePtr<LowerBoundToConstraint<Real>>(bnd,x);
68 up_ = ROL::makePtr<UpperBoundToConstraint<Real>>(bnd,x);
73 lo_ = ROL::makePtr<LowerBoundToConstraint<Real>>(lo);
74 up_ = ROL::makePtr<UpperBoundToConstraint<Real>>(up);
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);
virtual ROL::Ptr< Vector > clone() const =0
Clone to make a new (uninitialized) vector.
ROL::Ptr< InequalityConstraint< Real > > up_
ROL::Ptr< InequalityConstraint< Real > > lo_
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 ,...
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 .
Defines the linear algebra of vector space on a generic partitioned vector.
virtual void zero()
Set to zero vector.
Provides an implementation for bound constraints.
void applyJacobian(Vector< Real > &jv, const Vector< Real > &v, const Vector< Real > &x, Real &tol)
Apply the constraint Jacobian at , , to vector .
ROL::Ptr< Vector< Real > > tmp_
BoundToConstraint(BoundConstraint< Real > &bnd, const Vector< Real > &x)
virtual void plus(const Vector &x)=0
Compute , where .
Defines the linear algebra or vector space interface.
Defines the general constraint operator interface.
void value(Vector< Real > &c, const Vector< Real > &x, Real &tol)
Evaluate the constraint operator at .
Provides the interface to apply upper and lower bound constraints.
BoundToConstraint(const Vector< Real > &lo, const Vector< Real > &up)