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

Member Typedef Documentation

◆ V

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

Definition at line 136 of file ROL_ScaledVector.hpp.

◆ VPrim

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

Definition at line 137 of file ROL_ScaledVector.hpp.

◆ VDual

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

Definition at line 138 of file ROL_ScaledVector.hpp.

Constructor & Destructor Documentation

◆ DualScaledVector()

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.

◆ ~DualScaledVector()

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

Definition at line 161 of file ROL_ScaledVector.hpp.

Member Function Documentation

◆ getWorkspace()

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

◆ divide_scaling()

template<typename Real >
void ROL::DualScaledVector< Real >::divide_scaling ( const < V > &  y) const
inlineprotected

◆ dot()

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

◆ clone()

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

◆ basis()

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

◆ dual()

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

◆ getScalingVector() [1/2]

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

◆ getScalingVector() [2/2]

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_.

◆ setScalingVector()

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

◆ scaling_vec_

template<typename Real >
Ptv<V> ROL::DualScaledVector< Real >::scaling_vec_
mutableprivate

◆ workspace_

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

◆ div_

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: