10#ifndef ROL_POLYHEDRALPROJECTION_DEF_H
11#define ROL_POLYHEDRALPROJECTION_DEF_H
15template<
typename Real>
19template<
typename Real>
31 if (
con_ != nullPtr) {
32 rcon_ = makePtr<ReducedLinearConstraint<Real>>(con,bnd,
xprim_);
37template<
typename Real>
39 if (
con_ == nullPtr) {
47template<
typename Real>
49 if (
con_ == nullPtr) {
50 bnd_->pruneActive(v,x);
53 rcon_->setX(makePtrFromRef(x));
60template<
typename Real>
65template<
typename Real>
70template<
typename Real>
75template<
typename Real>
const Ptr< BoundConstraint< Real > > getBoundConstraint(void) const
virtual void project(Vector< Real > &x, std::ostream &stream=std::cout)
const Ptr< Vector< Real > > getResidual(void) const
const Ptr< Vector< Real > > getMultiplier(void) const
virtual void applyJacobian(Vector< Real > &v, const Vector< Real > &x)
PolyhedralProjection(const Ptr< BoundConstraint< Real > > &bnd)
const Ptr< Constraint< Real > > getLinearConstraint(void) const
const Ptr< Constraint< Real > > con_
const Ptr< BoundConstraint< Real > > bnd_
Ptr< NullSpaceOperator< Real > > ns_
Ptr< Vector< Real > > xprim_
Ptr< Vector< Real > > mul_
Ptr< Vector< Real > > xdual_
Ptr< Vector< Real > > res_
Ptr< ReducedLinearConstraint< Real > > rcon_
virtual ROL::Ptr< Vector > clone() const =0
Clone to make a new (uninitialized) vector.