10#ifndef ROL_BINARY_CONSTRAINT_DEF_H
11#define ROL_BINARY_CONSTRAINT_DEF_H
15template<
typename Real>
20template<
typename Real>
24template<
typename Real>
28template<
typename Real>
39template<
typename Real>
51template<
typename Real>
56template<
typename Real>
64 ahuv.
applyBinary( Elementwise::Multiply<Real>(), v );
65 ahuv.
applyBinary( Elementwise::Multiply<Real>(), u );
69template<
typename Real>
const Ptr< const Vector< Real > > lo_
void value(Vector< Real > &c, const Vector< Real > &x, Real &tol) override
BinaryConstraint(const ROL::Ptr< const Vector< Real > > &lo, const ROL::Ptr< const Vector< Real > > &up, Real gamma)
void applyAdjointJacobian(Vector< Real > &ajv, const Vector< Real > &v, const Vector< Real > &x, Real &tol) override
void setPenalty(Real gamma)
void applyJacobian(Vector< Real > &jv, const Vector< Real > &v, const Vector< Real > &x, Real &tol) override
const Ptr< const Vector< Real > > up_
void applyAdjointHessian(Vector< Real > &ahuv, const Vector< Real > &u, const Vector< Real > &v, const Vector< Real > &x, Real &tol) override
Provides the interface to apply upper and lower bound constraints.
Defines the linear algebra or vector space interface.
virtual void set(const Vector &x)
Set where .
virtual void applyBinary(const Elementwise::BinaryFunction< Real > &f, const Vector &x)
virtual void scale(const Real alpha)=0
Compute where .
virtual void axpy(const Real alpha, const Vector &x)
Compute where .
void applyJacobian(ROL::Vector< Real > &jv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &sol)