10 #ifndef ROL_NULL_SPACE_OPERATOR_H
11 #define ROL_NULL_SPACE_OPERATOR_H
28 const Ptr<Constraint<Real>>
con_;
29 const Ptr<Vector<Real>>
x_;
32 mutable Ptr<Vector<Real>>
b1_;
34 mutable Ptr<Vector<Real>>
b2_;
35 mutable Ptr<Vector<Real>>
mul_;
45 const bool useAugSys =
false)
50 Real tol = std::sqrt(ROL_EPSILON<Real>());
73 Real tol = std::sqrt(ROL_EPSILON<Real>());
virtual const Vector & dual() const
Return dual representation of , for example, the result of applying a Riesz map, or change of basis...
virtual ROL::Ptr< Vector > clone() const =0
Clone to make a new (uninitialized) vector.
virtual int dimension() const
Return dimension of the vector space.
Ptr< Vector< Real > > b1_
virtual void axpy(const Real alpha, const Vector &x)
Compute where .
Ptr< Vector< Real > > mul_
virtual void apply(Vector< Real > &Hv, const Vector< Real > &v, Real &tol) const
Apply linear operator.
Defines the linear algebra or vector space interface.
virtual Real dot(const Vector &x) const =0
Compute where .
void applyAdjointInverse(Vector< Real > &Hv, const Vector< Real > &v, Real &tol) const
Apply adjoint of the inverse linear operator.
Ptr< Vector< Real > > b1dual_
Projects on to the null space of a linear constraint.
const Ptr< Vector< Real > > x_
virtual ~NullSpaceOperator()
const Ptr< Constraint< Real > > con_
NullSpaceOperator(const Ptr< Constraint< Real >> &con, const Vector< Real > &dom, const Vector< Real > &ran, const bool useAugSys=false)
Provides the interface to apply a linear operator.
NullSpaceOperator(const Ptr< Constraint< Real >> &con, const Ptr< const Vector< Real >> &dom, const Ptr< const Vector< Real >> &ran)
void applyInverse(Vector< Real > &Hv, const Vector< Real > &v, Real &tol) const
Apply inverse of linear operator.
virtual void set(const Vector &x)
Set where .
void applyAdjoint(Vector< Real > &Hv, const Vector< Real > &v, Real &tol) const
Apply adjoint of linear operator.
Ptr< Vector< Real > > b2_
virtual void update(const Vector< Real > &x, bool flag=true, int iter=-1)
Update linear operator.
Defines the general constraint operator interface.