ROL
ROL::InactiveSet_DualVector< Real > Class Template Reference

Defines the a Vector which has a diagonally scaled dot product that neglects active set elements Used to simplify Semi-smooth Newton method implementation. More...

#include <ROL_InactiveSetVector.hpp>

Inheritance diagram for ROL::InactiveSet_DualVector< Real >:

Public Member Functions

 InactiveSet_DualVector (const Ptr< V > &vec, const Ptr< V > &scaling_vec, const Ptr< V > &x, const Ptr< Bnd > &bnd)
virtual ~InactiveSet_PrimalVector ()
Real dot (const V &x) const override
Ptr< Vclone () const override
Ptr< Vbasis (const int i) const override
void const Vdual () const override
void setIterateVector (const Ptr< V > &x) const
const Ptr< V > & getIterateVector ()
const Ptr< const V > & getIterateVector () const
Public Member Functions inherited from ROL::DualScaledVector< Real >
 DualScaledVector (const Ptr< V > &vec, const Ptr< V > &scaling_vec)
virtual ~DualScaledVector ()
const Ptr< V > & getScalingVector ()
const Ptr< const V > & getScalingVector () const
void setScalingVector (const Ptr< const V & > &scaling_vec) const

Private Types

using V = Vector<Real>
using Primal = InactiveSet_PrimalVector<Real>
using Dual = InactiveSet_DualVector<Real>
using Bnd = BoundConstraint<Real>

Private Attributes

Ptr< Vx_
Ptr< Bndbnd_

Additional Inherited Members

Protected Member Functions inherited from ROL::DualScaledVector< Real >
VectorWorkspace< Real > & getWorkspace () const
void divide_scaling (const < V > &y) const

Detailed Description

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

Defines the a Vector which has a diagonally scaled dot product that neglects active set elements Used to simplify Semi-smooth Newton method implementation.

Definition at line 99 of file ROL_InactiveSetVector.hpp.

Member Typedef Documentation

◆ V

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

Definition at line 101 of file ROL_InactiveSetVector.hpp.

◆ Primal

template<typename Real>
using ROL::InactiveSet_DualVector< Real >::Primal = InactiveSet_PrimalVector<Real>
private

Definition at line 102 of file ROL_InactiveSetVector.hpp.

◆ Dual

template<typename Real>
using ROL::InactiveSet_DualVector< Real >::Dual = InactiveSet_DualVector<Real>
private

Definition at line 103 of file ROL_InactiveSetVector.hpp.

◆ Bnd

template<typename Real>
using ROL::InactiveSet_DualVector< Real >::Bnd = BoundConstraint<Real>
private

Definition at line 104 of file ROL_InactiveSetVector.hpp.

Constructor & Destructor Documentation

◆ InactiveSet_DualVector()

template<typename Real>
ROL::InactiveSet_DualVector< Real >::InactiveSet_DualVector ( const Ptr< V > & vec,
const Ptr< V > & scaling_vec,
const Ptr< V > & x,
const Ptr< Bnd > & bnd )
inline

Definition at line 113 of file ROL_InactiveSetVector.hpp.

References bnd_, ROL::DualScaledVector< Real >::scaling_vec_, and x_.

◆ ~InactiveSet_PrimalVector()

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

Definition at line 119 of file ROL_InactiveSetVector.hpp.

Member Function Documentation

◆ dot()

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

◆ clone()

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

Reimplemented from ROL::DualScaledVector< Real >.

Definition at line 133 of file ROL_InactiveSetVector.hpp.

References bnd_, clone(), and ROL::DualScaledVector< Real >::getScalingVector().

Referenced by clone().

◆ basis()

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

Reimplemented from ROL::DualScaledVector< Real >.

Definition at line 139 of file ROL_InactiveSetVector.hpp.

References basis(), bnd_, and ROL::DualScaledVector< Real >::getScalingVector().

Referenced by basis().

◆ dual()

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

◆ setIterateVector()

template<typename Real>
void ROL::InactiveSet_DualVector< Real >::setIterateVector ( const Ptr< V > & x) const
inline

Definition at line 152 of file ROL_InactiveSetVector.hpp.

References x_.

◆ getIterateVector() [1/2]

template<typename Real>
const Ptr< V > & ROL::InactiveSet_DualVector< Real >::getIterateVector ( )
inline

Definition at line 153 of file ROL_InactiveSetVector.hpp.

References x_.

◆ getIterateVector() [2/2]

template<typename Real>
const Ptr< const V > & ROL::InactiveSet_DualVector< Real >::getIterateVector ( ) const
inline

Definition at line 154 of file ROL_InactiveSetVector.hpp.

References x_.

Member Data Documentation

◆ x_

template<typename Real>
Ptr<V> ROL::InactiveSet_DualVector< Real >::x_
mutableprivate

◆ bnd_

template<typename Real>
Ptr<Bnd> ROL::InactiveSet_DualVector< Real >::bnd_
private

Definition at line 109 of file ROL_InactiveSetVector.hpp.

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


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