44 #ifndef ROL_AFFINE_HYPERPLANE_EQUALITY_CONSTRAINT_H
45 #define ROL_AFFINE_HYPERPLANE_EQUALITY_CONSTRAINT_H
83 const Ptr<Vector<Real>>
a_;
125 std::vector<Real> out;
virtual const Vector & dual() const
Return dual representation of , for example, the result of applying a Riesz map, or change of basis...
virtual void scale(const Real alpha)=0
Compute where .
void value(Vector< Real > &c, const Vector< Real > &x, Real &tol)
Evaluate the constraint operator at .
virtual void axpy(const Real alpha, const Vector &x)
Compute where .
const Ptr< Vector< Real > > a_
Dual vector defining hyperplane.
void applyJacobian(Vector< Real > &jv, const Vector< Real > &v, const Vector< Real > &x, Real &tol)
Apply the constraint Jacobian at , , to vector .
virtual void zero()
Set to zero vector.
Defines the linear algebra or vector space interface.
This equality constraint defines an affine hyperplane.
const Real b_
Affine shift.
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 .
void setValue(const Real &v)
virtual void set(const Vector &x)
Set where .
std::vector< Real > solveAugmentedSystem(Vector< Real > &v1, Vector< Real > &v2, const Vector< Real > &b1, const Vector< Real > &b2, const Vector< Real > &x, Real &tol)
Approximately solves the augmented system where , , , , is an identity or Riesz operator...
ScalarLinearConstraint(const Ptr< Vector< Real >> &a, const Real b)
Defines the general constraint operator interface.
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 ...