44 #ifndef ROL_AUGMENTED_SYSTEM_OPERATOR_H
45 #define ROL_AUGMENTED_SYSTEM_OPERATOR_H
62 const Ptr<Constraint<Real>>
con_;
63 const Ptr<Vector<Real>>
x_;
70 const Real delta = -1.0)
77 con_->applyAdjointJacobian(*(Hvp.
get(0)), *(vp.
get(1)), *
x_, tol);
78 Hvp.
get(0)->plus(*(vp.
get(0)));
80 con_->applyJacobian(*(Hvp.
get(1)), *(vp.
get(0)), *
x_, tol);
81 if (
delta_ > static_cast<Real>(0) ) {
ROL::Ptr< const Vector< Real > > get(size_type i) const
Defines the linear algebra of vector space on a generic partitioned vector.
void applyAdjoint(Vector< Real > &Hv, const Vector< Real > &v, Real &tol) const
Apply adjoint of linear operator.
Defines the linear algebra or vector space interface.
void applyInverse(Vector< Real > &Hv, const Vector< Real > &v, Real &tol) const
Apply inverse of linear operator.
void applyAdjointInverse(Vector< Real > &Hv, const Vector< Real > &v, Real &tol) const
Apply adjoint of the inverse linear operator.
virtual ~AugmentedSystemOperator()
Provides the interface to apply a linear operator.
AugmentedSystemOperator(const Ptr< Constraint< Real >> &con, const Ptr< Vector< Real >> &x, const Real delta=-1.0)
Apply the augmented system operator.
const Ptr< Constraint< Real > > con_
const Ptr< Vector< Real > > x_
void apply(Vector< Real > &Hv, const Vector< Real > &v, Real &tol) const
Apply linear operator.
Defines the general constraint operator interface.