ROL
Public Member Functions | Protected Member Functions | Private Types | Private Attributes | List of all members
ROL::PrimalScaledVector Class 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>

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 const void 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 const void Vdual () 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

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 69 of file ROL_ScaledVector.hpp.

Member Typedef Documentation

◆ V [1/2]

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

Definition at line 75 of file ROL_ScaledVector.hpp.

◆ VPrim [1/2]

Definition at line 76 of file ROL_ScaledVector.hpp.

◆ VDual [1/2]

Definition at line 77 of file ROL_ScaledVector.hpp.

◆ V [2/2]

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

Definition at line 69 of file ROL_WrappedVector.hpp.

◆ VPrim [2/2]

Definition at line 70 of file ROL_WrappedVector.hpp.

◆ VDual [2/2]

Definition at line 71 of file ROL_WrappedVector.hpp.

Constructor & Destructor Documentation

◆ PrimalScaledVector()

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

Definition at line 97 of file ROL_ScaledVector.hpp.

◆ ~PrimalScaledVector()

virtual ROL::PrimalScaledVector::~PrimalScaledVector ( )
inlinevirtual

Definition at line 100 of file ROL_ScaledVector.hpp.

◆ ~WrappedVector()

virtual ROL::PrimalScaledVector::~WrappedVector ( )
inlinevirtual

Definition at line 82 of file ROL_WrappedVector.hpp.

Member Function Documentation

◆ getWorkspace()

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

Definition at line 88 of file ROL_ScaledVector.hpp.

References workspace_.

◆ multiply_scaling()

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

Definition at line 91 of file ROL_ScaledVector.hpp.

References mult_, and scaling_vec_.

Referenced by dot(), and dual().

◆ dot() [1/2]

virtual Real ROL::PrimalScaledVector::dot ( const V x) const
inlineoverridevirtual

Definition at line 102 of file ROL_ScaledVector.hpp.

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

Referenced by norm().

◆ clone() [1/2]

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

Definition at line 108 of file ROL_ScaledVector.hpp.

References getVector().

◆ basis() [1/2]

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

Definition at line 112 of file ROL_ScaledVector.hpp.

References getVector(), and scaling_vec_.

◆ dual() [1/2]

virtual const void V& ROL::PrimalScaledVector::dual ( ) const
inlineoverridevirtual

Definition at line 116 of file ROL_ScaledVector.hpp.

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

◆ getScalingVector() [1/2]

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

Definition at line 122 of file ROL_ScaledVector.hpp.

References scaling_vec_.

◆ getScalingVector() [2/2]

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

Definition at line 123 of file ROL_ScaledVector.hpp.

References scaling_vec_.

◆ setScalingVector()

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

Definition at line 125 of file ROL_ScaledVector.hpp.

References scaling_vec_.

◆ WrappedVector()

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

Definition at line 80 of file ROL_WrappedVector.hpp.

◆ plus()

virtual void ROL::PrimalScaledVector::plus ( const V x)
inlineoverridevirtual

Definition at line 84 of file ROL_WrappedVector.hpp.

References vec_.

◆ scale()

virtual void ROL::PrimalScaledVector::scale ( const Real  alpha)
inlineoverridevirtual

Definition at line 85 of file ROL_WrappedVector.hpp.

References vec_.

◆ dot() [2/2]

virtual Real ROL::PrimalScaledVector::dot ( const V x) const
inlineoverridevirtual

Definition at line 87 of file ROL_WrappedVector.hpp.

References vec_.

◆ norm()

virtual Real ROL::PrimalScaledVector::norm ( ) const
inlineoverridevirtual

Definition at line 89 of file ROL_WrappedVector.hpp.

References dot().

◆ clone() [2/2]

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

Definition at line 91 of file ROL_WrappedVector.hpp.

References vec_.

◆ axpy()

virtual void ROL::PrimalScaledVector::axpy ( const Real  alpha,
const V x 
)
inlineoverridevirtual

Definition at line 95 of file ROL_WrappedVector.hpp.

References vec_.

◆ basis() [2/2]

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

Definition at line 99 of file ROL_WrappedVector.hpp.

References vec_.

◆ dimension()

virtual int ROL::PrimalScaledVector::dimension ( ) const
inlineoverridevirtual

Definition at line 103 of file ROL_WrappedVector.hpp.

References vec_.

◆ set()

virtual void ROL::PrimalScaledVector::set ( const V x)
inlineoverridevirtual

Definition at line 105 of file ROL_WrappedVector.hpp.

References vec_.

◆ dual() [2/2]

virtual const void V& ROL::PrimalScaledVector::dual ( ) const
inlineoverridevirtual

Definition at line 107 of file ROL_WrappedVector.hpp.

References vec_.

◆ applyUnary()

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

Definition at line 109 of file ROL_WrappedVector.hpp.

References vec_.

◆ applyBinary()

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

Definition at line 113 of file ROL_WrappedVector.hpp.

References vec_.

◆ reduce()

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

Definition at line 118 of file ROL_WrappedVector.hpp.

References vec_.

◆ setScalar()

virtual void ROL::PrimalScaledVector::setScalar ( const Real  C)
inlineoverridevirtual

Definition at line 122 of file ROL_WrappedVector.hpp.

References vec_.

◆ randomize()

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

Definition at line 124 of file ROL_WrappedVector.hpp.

References vec_.

◆ print()

virtual void ROL::PrimalScaledVector::print ( std::ostream &  os)
inlineoverridevirtual

Definition at line 128 of file ROL_WrappedVector.hpp.

References vec_.

◆ getVector() [1/2]

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

Definition at line 130 of file ROL_WrappedVector.hpp.

References vec_.

Referenced by basis(), clone(), dot(), and dual().

◆ getVector() [2/2]

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

Definition at line 131 of file ROL_WrappedVector.hpp.

References vec_.

◆ setVector()

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

Definition at line 133 of file ROL_WrappedVector.hpp.

References vec_.

Member Data Documentation

◆ scaling_vec_

Ptv<V> ROL::PrimalScaledVector::scaling_vec_
mutableprivate

Definition at line 81 of file ROL_ScaledVector.hpp.

Referenced by basis(), getScalingVector(), multiply_scaling(), and setScalingVector().

◆ workspace_

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

Definition at line 82 of file ROL_ScaledVector.hpp.

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

◆ mult_

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

Definition at line 84 of file ROL_ScaledVector.hpp.

Referenced by multiply_scaling().

◆ vec_

Ptr<V> ROL::PrimalScaledVector::vec_
mutableprivate

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