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

Public Member Functions

 DualScaledVector (const Ptr< V > &vec, const Ptr< V > &scaling_vec)
 
virtual ~DualScaledVector ()
 
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
 

Protected Member Functions

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

Private Types

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

Private Attributes

Ptv< Vscaling_vec_
 
VectorWorkspace< Real > workspace_
 
Elementwise::Divide< Real > div_
 

Detailed Description

template<typename Real>
class ROL::DualScaledVector< 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 70 of file ROL_ScaledVector.hpp.

Member Typedef Documentation

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

Definition at line 136 of file ROL_ScaledVector.hpp.

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

Definition at line 137 of file ROL_ScaledVector.hpp.

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

Definition at line 138 of file ROL_ScaledVector.hpp.

Constructor & Destructor Documentation

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

Definition at line 158 of file ROL_ScaledVector.hpp.

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

Definition at line 161 of file ROL_ScaledVector.hpp.

Member Function Documentation

template<typename Real >
VectorWorkspace<Real>& ROL::DualScaledVector< Real >::getWorkspace ( ) const
inlineprotected
template<typename Real >
void ROL::DualScaledVector< Real >::divide_scaling ( const < V > &  y) const
inlineprotected
template<typename Real >
virtual Real ROL::DualScaledVector< Real >::dot ( const V x) const
inlineoverridevirtual
template<typename Real >
virtual Ptr<V> ROL::DualScaledVector< Real >::clone ( void  ) const
inlineoverridevirtual
template<typename Real >
virtual Ptr<V> ROL::DualScaledVector< Real >::basis ( const int  i) const
inlineoverridevirtual
template<typename Real >
virtual void const V& ROL::DualScaledVector< Real >::dual ( void  ) const
inlineoverridevirtual
template<typename Real >
const Ptr<V>& ROL::DualScaledVector< Real >::getScalingVector ( )
inline
template<typename Real >
const Ptr<const V>& ROL::DualScaledVector< Real >::getScalingVector ( ) const
inline

Definition at line 184 of file ROL_ScaledVector.hpp.

References ROL::DualScaledVector< Real >::scaling_vec_.

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

Definition at line 186 of file ROL_ScaledVector.hpp.

References ROL::DualScaledVector< Real >::scaling_vec_.

Member Data Documentation

template<typename Real >
Ptv<V> ROL::DualScaledVector< Real >::scaling_vec_
mutableprivate
template<typename Real >
VectorWorkspace<Real> ROL::DualScaledVector< Real >::workspace_
mutableprivate
template<typename Real >
Elementwise::Divide<Real> ROL::DualScaledVector< Real >::div_
private

Definition at line 145 of file ROL_ScaledVector.hpp.

Referenced by ROL::DualScaledVector< Real >::divide_scaling().


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