ROL
ROL::PrimalScaledVector< Real > Class Template Reference

Provides the implementation of the ROL::Vector interface that handles scalings in the inner product. A more generic version of ROL::PrimalScaledStdVector. More...

#include <ROL_ScaledVector.hpp>

Inheritance diagram for ROL::PrimalScaledVector< Real >:

Public Member Functions

 PrimalScaledVector (const Ptr< V > &vec, const Ptr< V > &scaling_vec)
virtual ~PrimalScaledVector ()
virtual Real dot (const V &x) const override
virtual Ptr< Vclone () const override
virtual Ptr< Vbasis (const int i) const override
virtual void const Vdual () const override
const Ptr< V > & getScalingVector ()
const Ptr< const V > & getScalingVector () const
void setScalingVector (const Ptr< const V & > &scaling_vec) const
 WrappedVector (const Ptr< V > &vec)
virtual ~WrappedVector ()
virtual void plus (const V &x) override
virtual void scale (const Real alpha) override
virtual Real dot (const V &x) const override
virtual Real norm () const override
virtual Ptr< Vclone () const override
virtual void axpy (const Real alpha, const V &x) override
virtual Ptr< Vbasis (const int i) const override
virtual int dimension () const override
virtual void set (const V &x) override
virtual void const Vdual () const override
virtual Real apply (const V &x) const override
virtual void applyUnary (const Elementwise::UnaryFunction< Real > &f) override
virtual void applyBinary (const Elementwise::BinaryFunction< Real > &f, const V &x) override
virtual Real reduce (const Elementwise::ReductionOp< Real > &r) const override
virtual void setScalar (const Real C) override
virtual void randomize (const Real l=0.0, const Real u=1.0) override
virtual void print (std::ostream &os) override
const Ptr< V > & getVector ()
const Ptr< const V > & getVector () const
virtual void setVector (const Ptr< const V > &vec) const

Protected Member Functions

VectorWorkspace< Real > & getWorkspace () const
void multiply_scaling (const Ptr< V > &y) const

Private Types

using V = Vector<Real>
using VPrim = PrimalScaledVector<Real>
using VDual = DualScaledVector<Real>
using V = Vector<Real>
using VPrim = PrimalScaledVector<Real>
using VDual = DualScaledVector<Real>

Private Attributes

Ptv< Vscaling_vec_
VectorWorkspace< Real > workspace_
Elementwise::Multiply< Real > mult_
Ptr< Vvec_

Detailed Description

template<typename Real>
class ROL::PrimalScaledVector< Real >

Provides the implementation of the ROL::Vector interface that handles scalings in the inner product. A more generic version of ROL::PrimalScaledStdVector.

Definition at line 32 of file ROL_WrappedVector.hpp.

Member Typedef Documentation

◆ V [1/2]

template<typename Real>
using ROL::PrimalScaledVector< Real >::V = Vector<Real>
private

Definition at line 40 of file ROL_ScaledVector.hpp.

◆ VPrim [1/2]

template<typename Real>
using ROL::PrimalScaledVector< Real >::VPrim = PrimalScaledVector<Real>
private

Definition at line 41 of file ROL_ScaledVector.hpp.

◆ VDual [1/2]

template<typename Real>
using ROL::PrimalScaledVector< Real >::VDual = DualScaledVector<Real>
private

Definition at line 42 of file ROL_ScaledVector.hpp.

◆ V [2/2]

template<typename Real>
using ROL::PrimalScaledVector< Real >::V = Vector<Real>
private

Definition at line 34 of file ROL_WrappedVector.hpp.

◆ VPrim [2/2]

template<typename Real>
using ROL::PrimalScaledVector< Real >::VPrim = PrimalScaledVector<Real>
private

Definition at line 35 of file ROL_WrappedVector.hpp.

◆ VDual [2/2]

template<typename Real>
using ROL::PrimalScaledVector< Real >::VDual = DualScaledVector<Real>
private

Definition at line 36 of file ROL_WrappedVector.hpp.

Constructor & Destructor Documentation

◆ PrimalScaledVector()

template<typename Real>
ROL::PrimalScaledVector< Real >::PrimalScaledVector ( const Ptr< V > & vec,
const Ptr< V > & scaling_vec )
inline

◆ ~PrimalScaledVector()

template<typename Real>
virtual ROL::PrimalScaledVector< Real >::~PrimalScaledVector ( )
inlinevirtual

Definition at line 65 of file ROL_ScaledVector.hpp.

◆ ~WrappedVector()

template<typename Real>
virtual ROL::PrimalScaledVector< Real >::~WrappedVector ( )
inlinevirtual

Definition at line 47 of file ROL_WrappedVector.hpp.

Member Function Documentation

◆ getWorkspace()

template<typename Real>
VectorWorkspace< Real > & ROL::PrimalScaledVector< Real >::getWorkspace ( ) const
inlineprotected

◆ multiply_scaling()

template<typename Real>
void ROL::PrimalScaledVector< Real >::multiply_scaling ( const Ptr< V > & y) const
inlineprotected

◆ dot() [1/2]

template<typename Real>
virtual Real ROL::PrimalScaledVector< Real >::dot ( const V & x) const
inlineoverridevirtual

Reimplemented in ROL::InactiveSet_PrimalVector< Real >.

Definition at line 67 of file ROL_ScaledVector.hpp.

References getVector(), multiply_scaling(), and workspace_.

Referenced by norm().

◆ clone() [1/2]

template<typename Real>
virtual Ptr< V > ROL::PrimalScaledVector< Real >::clone ( ) const
inlineoverridevirtual

Reimplemented in ROL::InactiveSet_PrimalVector< Real >.

Definition at line 73 of file ROL_ScaledVector.hpp.

References clone(), and getVector().

Referenced by clone().

◆ basis() [1/2]

template<typename Real>
virtual Ptr< V > ROL::PrimalScaledVector< Real >::basis ( const int i) const
inlineoverridevirtual

Reimplemented in ROL::InactiveSet_PrimalVector< Real >.

Definition at line 77 of file ROL_ScaledVector.hpp.

References basis(), getVector(), and scaling_vec_.

Referenced by basis().

◆ dual() [1/2]

template<typename Real>
virtual void const V & ROL::PrimalScaledVector< Real >::dual ( ) const
inlineoverridevirtual

Reimplemented in ROL::InactiveSet_PrimalVector< Real >.

Definition at line 81 of file ROL_ScaledVector.hpp.

References getVector(), multiply_scaling(), and workspace_.

◆ getScalingVector() [1/2]

template<typename Real>
const Ptr< V > & ROL::PrimalScaledVector< Real >::getScalingVector ( )
inline

◆ getScalingVector() [2/2]

template<typename Real>
const Ptr< const V > & ROL::PrimalScaledVector< Real >::getScalingVector ( ) const
inline

Definition at line 88 of file ROL_ScaledVector.hpp.

References scaling_vec_.

◆ setScalingVector()

template<typename Real>
void ROL::PrimalScaledVector< Real >::setScalingVector ( const Ptr< const V & > & scaling_vec) const
inline

Definition at line 90 of file ROL_ScaledVector.hpp.

References scaling_vec_.

◆ WrappedVector()

template<typename Real>
ROL::PrimalScaledVector< Real >::WrappedVector ( const Ptr< V > & vec)
inline

Definition at line 45 of file ROL_WrappedVector.hpp.

References vec_.

Referenced by PrimalScaledVector().

◆ plus()

template<typename Real>
virtual void ROL::PrimalScaledVector< Real >::plus ( const V & x)
inlineoverridevirtual

Definition at line 49 of file ROL_WrappedVector.hpp.

References vec_.

◆ scale()

template<typename Real>
virtual void ROL::PrimalScaledVector< Real >::scale ( const Real alpha)
inlineoverridevirtual

Definition at line 50 of file ROL_WrappedVector.hpp.

References vec_.

◆ dot() [2/2]

template<typename Real>
virtual Real ROL::PrimalScaledVector< Real >::dot ( const V & x) const
inlineoverridevirtual

Reimplemented in ROL::InactiveSet_PrimalVector< Real >.

Definition at line 52 of file ROL_WrappedVector.hpp.

References vec_.

◆ norm()

template<typename Real>
virtual Real ROL::PrimalScaledVector< Real >::norm ( ) const
inlineoverridevirtual

Definition at line 54 of file ROL_WrappedVector.hpp.

References dot().

◆ clone() [2/2]

template<typename Real>
virtual Ptr< V > ROL::PrimalScaledVector< Real >::clone ( ) const
inlineoverridevirtual

Reimplemented in ROL::InactiveSet_PrimalVector< Real >.

Definition at line 56 of file ROL_WrappedVector.hpp.

References vec_.

◆ axpy()

template<typename Real>
virtual void ROL::PrimalScaledVector< Real >::axpy ( const Real alpha,
const V & x )
inlineoverridevirtual

Definition at line 60 of file ROL_WrappedVector.hpp.

References vec_.

◆ basis() [2/2]

template<typename Real>
virtual Ptr< V > ROL::PrimalScaledVector< Real >::basis ( const int i) const
inlineoverridevirtual

Reimplemented in ROL::InactiveSet_PrimalVector< Real >.

Definition at line 64 of file ROL_WrappedVector.hpp.

References vec_.

◆ dimension()

template<typename Real>
virtual int ROL::PrimalScaledVector< Real >::dimension ( ) const
inlineoverridevirtual

Definition at line 68 of file ROL_WrappedVector.hpp.

References vec_.

◆ set()

template<typename Real>
virtual void ROL::PrimalScaledVector< Real >::set ( const V & x)
inlineoverridevirtual

Definition at line 70 of file ROL_WrappedVector.hpp.

References vec_.

◆ dual() [2/2]

template<typename Real>
virtual void const V & ROL::PrimalScaledVector< Real >::dual ( ) const
inlineoverridevirtual

Reimplemented in ROL::InactiveSet_PrimalVector< Real >.

Definition at line 72 of file ROL_WrappedVector.hpp.

References vec_.

◆ apply()

template<typename Real>
virtual Real ROL::PrimalScaledVector< Real >::apply ( const V & x) const
inlineoverridevirtual

Definition at line 74 of file ROL_WrappedVector.hpp.

References vec_.

◆ applyUnary()

template<typename Real>
virtual void ROL::PrimalScaledVector< Real >::applyUnary ( const Elementwise::UnaryFunction< Real > & f)
inlineoverridevirtual

Definition at line 76 of file ROL_WrappedVector.hpp.

References vec_.

◆ applyBinary()

template<typename Real>
virtual void ROL::PrimalScaledVector< Real >::applyBinary ( const Elementwise::BinaryFunction< Real > & f,
const V & x )
inlineoverridevirtual

Definition at line 80 of file ROL_WrappedVector.hpp.

References vec_.

◆ reduce()

template<typename Real>
virtual Real ROL::PrimalScaledVector< Real >::reduce ( const Elementwise::ReductionOp< Real > & r) const
inlineoverridevirtual

Definition at line 85 of file ROL_WrappedVector.hpp.

References vec_.

◆ setScalar()

template<typename Real>
virtual void ROL::PrimalScaledVector< Real >::setScalar ( const Real C)
inlineoverridevirtual

Definition at line 89 of file ROL_WrappedVector.hpp.

References vec_.

◆ randomize()

template<typename Real>
virtual void ROL::PrimalScaledVector< Real >::randomize ( const Real l = 0.0,
const Real u = 1.0 )
inlineoverridevirtual

Definition at line 91 of file ROL_WrappedVector.hpp.

References vec_.

◆ print()

template<typename Real>
virtual void ROL::PrimalScaledVector< Real >::print ( std::ostream & os)
inlineoverridevirtual

Definition at line 95 of file ROL_WrappedVector.hpp.

References vec_.

◆ getVector() [1/2]

◆ getVector() [2/2]

template<typename Real>
const Ptr< const V > & ROL::PrimalScaledVector< Real >::getVector ( ) const
inline

Definition at line 98 of file ROL_WrappedVector.hpp.

References vec_.

◆ setVector()

template<typename Real>
virtual void ROL::PrimalScaledVector< Real >::setVector ( const Ptr< const V > & vec) const
inlinevirtual

Definition at line 100 of file ROL_WrappedVector.hpp.

References vec_.

Member Data Documentation

◆ scaling_vec_

◆ workspace_

template<typename Real>
VectorWorkspace<Real> ROL::PrimalScaledVector< Real >::workspace_
mutableprivate

Definition at line 47 of file ROL_ScaledVector.hpp.

Referenced by dot(), dual(), and getWorkspace().

◆ mult_

template<typename Real>
Elementwise::Multiply<Real> ROL::PrimalScaledVector< Real >::mult_
private

Definition at line 49 of file ROL_ScaledVector.hpp.

Referenced by multiply_scaling().

◆ vec_


The documentation for this class was generated from the following files: