44 #ifndef ROL_INACTIVE_SET_VECTOR_HPP 
   45 #define ROL_INACTIVE_SET_VECTOR_HPP 
   68 template<
typename Real>
 
   84                             const Ptr<V>& scaling_vec, 
 
   86                             const Ptr<Bnd>& bnd ) :
 
   92   Real 
dot( 
const V& x )
 const override {
 
  100     bnd_->pruneActive( *y, *
x_ );
 
  106     return makePtr<Primal>( this->
getVector()->clone(), 
 
  111   Ptr<V> 
basis( 
const int i )
 const override { 
 
  112     return makePtr<Primal>( this->
getVector()->basis(i),
 
  117   void const V& 
dual()
 const override {
 
  119     auto dual_vec = w.copy( this->
getVector() );  
 
  132 template<
typename Real>
 
  133 class InactiveSet_DualVector : 
public DualScaledVector<Real> {
 
  148                           const Ptr<V>& scaling_vec, 
 
  150                           const Ptr<Bnd>& bnd ) :
 
  155   Real 
dot( 
const V& x )
 const override {
 
  162     bnd_->pruneActive( *y, *
x_ );
 
  164     return y->dot( *this->getVector() );    
 
  168     return makePtr<Primal>( this->getVector()->clone(), 
 
  173   Ptr<V> 
basis( 
const int i )
 const override { 
 
  174     return makePtr<Primal>( this->getVector()->basis(i),
 
  179   void const V& 
dual()
 const override {
 
  181     auto dual_vec = w.copy( this->getVector() );  
 
  182     this->multiply( dual_vec );
 
  200 #endif // ROL_INACTIVE_SET_VECTOR_HPP 
const Ptr< V > & getIterateVector()
const Ptr< V > & getScalingVector()
VectorWorkspace< Real > & getWorkspace() const 
void const V & dual() const override
void multiply_scaling(const Ptr< V > &y) const 
Defines the a Vector which has a diagonally scaled dot product that neglects active set elements Used...
const Ptr< V > & getIterateVector()
Defines the linear algebra or vector space interface. 
const Ptr< V > & getVector()
const Ptr< const V > & getIterateVector() const 
Provides the implementation of the ROL::Vector interface that handles scalings in the inner product...
Defines the a Vector which has a diagonally scaled dot product that neglects active set elements Used...
void const V & dual() const override
InactiveSet_DualVector(const Ptr< V > &vec, const Ptr< V > &scaling_vec, const Ptr< V > &x, const Ptr< Bnd > &bnd)
virtual ~InactiveSet_PrimalVector()
Ptr< V > basis(const int i) const override
virtual ~InactiveSet_PrimalVector()
VectorWorkspace< Real > & getWorkspace() const 
Ptr< V > basis(const int i) const override
Real dot(const V &x) const override
const Ptr< V > & getScalingVector()
Provides the interface to apply upper and lower bound constraints. 
Ptr< V > clone() const override
void divide_scaling(const < V > &y) const 
const Ptr< const V > & getIterateVector() const 
InactiveSet_PrimalVector(const Ptr< V > &vec, const Ptr< V > &scaling_vec, const Ptr< V > &x, const Ptr< Bnd > &bnd)
Real dot(const V &x) const override
void setIterateVector(const Ptr< V > &x) const 
Ptr< V > clone() const override
void setIterateVector(const Ptr< V > &x) const