ROL
Public Types | Public Member Functions | Private Attributes | List of all members
ROL::DynamicTrackingObjective< Real > Class Template Reference

Defines the time-local contribution to a quadratic tracking objective. More...

#include <ROL_DynamicTrackingObjective.hpp>

+ Inheritance diagram for ROL::DynamicTrackingObjective< Real >:

Public Types

using V = Vector< Real >
 
using TS = TimeStamp< Real >
 
using size_type = typename PartitionedVector< Real >::size_type
 
- Public Types inherited from ROL::DynamicObjective< Real >
using V = Vector< Real >
 
using TS = TimeStamp< Real >
 
- Public Types inherited from ROL::DynamicFunction< Real >
using V = Vector< Real >
 
using PV = PartitionedVector< Real >
 
using TS = TimeStamp< Real >
 

Public Member Functions

 DynamicTrackingObjective (const Ptr< PartitionedVector< Real >> &target, Real alpha=0.0)
 
virtual ~DynamicTrackingObjective ()
 
virtual Real value (const V &uo, const V &un, const V &z, const TS &timeStamp) const override
 
virtual void gradient_uo (V &g, const V &uo, const V &un, const V &z, const TS &timeStamp) const override
 
virtual void gradient_un (V &g, const V &uo, const V &un, const V &z, const TS &timeStamp) const override
 
virtual void gradient_z (V &g, const V &uo, const V &un, const V &z, const TS &timeStamp) const override
 
virtual void hessVec_uo_uo (V &hv, const V &v, const V &uo, const V &un, const V &z, const TS &timeStamp) const override
 
virtual void hessVec_uo_un (V &hv, const V &v, const V &uo, const V &un, const V &z, const TS &timeStamp) const override
 
virtual void hessVec_uo_z (V &hv, const V &v, const V &uo, const V &un, const V &z, const TS &timeStamp) const override
 
virtual void hessVec_un_uo (V &hv, const V &v, const V &uo, const V &un, const V &z, const TS &timeStamp) const override
 
virtual void hessVec_un_un (V &hv, const V &v, const V &uo, const V &un, const V &z, const TS &timeStamp) const override
 
virtual void hessVec_un_z (V &hv, const V &v, const V &uo, const V &un, const V &z, const TS &timeStamp) const override
 
virtual void hessVec_z_uo (V &hv, const V &v, const V &uo, const V &un, const V &z, const TS &timeStamp) const override
 
virtual void hessVec_z_un (V &hv, const V &v, const V &uo, const V &un, const V &z, const TS &timeStamp) const override
 
virtual void hessVec_z_z (V &hv, const V &v, const V &uo, const V &un, const V &z, const TS &timeStamp) const override
 
- Public Member Functions inherited from ROL::DynamicObjective< Real >
 DynamicObjective (std::initializer_list< std::string > zero_deriv_terms={})
 
virtual ~DynamicObjective ()
 
virtual void update (const V &uo, const V &un, const V &z, const TS &timeStamp)
 
- Public Member Functions inherited from ROL::DynamicFunction< Real >
 DynamicFunction (std::initializer_list< std::string > zero_deriv_terms={})
 
virtual ~DynamicFunction ()
 
virtual void update_uo (const V &x, const TS &ts)
 
virtual void update_un (const V &x, const TS &ts)
 
virtual void update_z (const V &x, const TS &ts)
 
bool is_zero_derivative (const std::string &key)
 

Private Attributes

Ptr< PartitionedVector< Real > > target_
 
size_type Nt_
 
Real alpha_
 
VectorWorkspace< Real > workspace_
 

Additional Inherited Members

- Protected Member Functions inherited from ROL::DynamicFunction< Real >
VectorWorkspace< Real > & getVectorWorkspace () const
 
PVpartition (V &x) const
 
const PVpartition (const V &x) const
 
VgetNew (V &x) const
 
const VgetNew (const V &x) const
 
VgetOld (V &x) const
 
const VgetOld (const V &x) const
 

Detailed Description

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

Defines the time-local contribution to a quadratic tracking objective.

\[ f_k(u,z) = \frac{1}{2} \int\limits_{t_{k-1}}^{t_k} \| u(t)-\tilde u(t)\|^2 + \alpha \|z(t)\^2\,\mathm{d}t \]

  Currently approximates the integral with the trapezoidal rule.

Definition at line 34 of file ROL_DynamicTrackingObjective.hpp.

Member Typedef Documentation

template<typename Real >
using ROL::DynamicTrackingObjective< Real >::V = Vector<Real>

Definition at line 37 of file ROL_DynamicTrackingObjective.hpp.

template<typename Real >
using ROL::DynamicTrackingObjective< Real >::TS = TimeStamp<Real>

Definition at line 38 of file ROL_DynamicTrackingObjective.hpp.

template<typename Real >
using ROL::DynamicTrackingObjective< Real >::size_type = typename PartitionedVector<Real>::size_type

Definition at line 39 of file ROL_DynamicTrackingObjective.hpp.

Constructor & Destructor Documentation

template<typename Real >
ROL::DynamicTrackingObjective< Real >::DynamicTrackingObjective ( const Ptr< PartitionedVector< Real >> &  target,
Real  alpha = 0.0 
)
inline

Definition at line 52 of file ROL_DynamicTrackingObjective.hpp.

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

Definition at line 55 of file ROL_DynamicTrackingObjective.hpp.

Member Function Documentation

template<typename Real >
virtual Real ROL::DynamicTrackingObjective< Real >::value ( const V uo,
const V un,
const V z,
const TS timeStamp 
) const
inlineoverridevirtual
template<typename Real >
virtual void ROL::DynamicTrackingObjective< Real >::gradient_uo ( V g,
const V uo,
const V un,
const V z,
const TS timeStamp 
) const
inlineoverridevirtual
template<typename Real >
virtual void ROL::DynamicTrackingObjective< Real >::gradient_un ( V g,
const V uo,
const V un,
const V z,
const TS timeStamp 
) const
inlineoverridevirtual
template<typename Real >
virtual void ROL::DynamicTrackingObjective< Real >::gradient_z ( V g,
const V uo,
const V un,
const V z,
const TS timeStamp 
) const
inlineoverridevirtual
template<typename Real >
virtual void ROL::DynamicTrackingObjective< Real >::hessVec_uo_uo ( V hv,
const V v,
const V uo,
const V un,
const V z,
const TS timeStamp 
) const
inlineoverridevirtual
template<typename Real >
virtual void ROL::DynamicTrackingObjective< Real >::hessVec_uo_un ( V hv,
const V v,
const V uo,
const V un,
const V z,
const TS timeStamp 
) const
inlineoverridevirtual

Reimplemented from ROL::DynamicObjective< Real >.

Definition at line 119 of file ROL_DynamicTrackingObjective.hpp.

References ROL::Vector< Real >::zero().

template<typename Real >
virtual void ROL::DynamicTrackingObjective< Real >::hessVec_uo_z ( V hv,
const V v,
const V uo,
const V un,
const V z,
const TS timeStamp 
) const
inlineoverridevirtual

Reimplemented from ROL::DynamicObjective< Real >.

Definition at line 124 of file ROL_DynamicTrackingObjective.hpp.

References ROL::Vector< Real >::zero().

template<typename Real >
virtual void ROL::DynamicTrackingObjective< Real >::hessVec_un_uo ( V hv,
const V v,
const V uo,
const V un,
const V z,
const TS timeStamp 
) const
inlineoverridevirtual

Reimplemented from ROL::DynamicObjective< Real >.

Definition at line 129 of file ROL_DynamicTrackingObjective.hpp.

References ROL::Vector< Real >::zero().

template<typename Real >
virtual void ROL::DynamicTrackingObjective< Real >::hessVec_un_un ( V hv,
const V v,
const V uo,
const V un,
const V z,
const TS timeStamp 
) const
inlineoverridevirtual
template<typename Real >
virtual void ROL::DynamicTrackingObjective< Real >::hessVec_un_z ( V hv,
const V v,
const V uo,
const V un,
const V z,
const TS timeStamp 
) const
inlineoverridevirtual

Reimplemented from ROL::DynamicObjective< Real >.

Definition at line 141 of file ROL_DynamicTrackingObjective.hpp.

References ROL::Vector< Real >::zero().

template<typename Real >
virtual void ROL::DynamicTrackingObjective< Real >::hessVec_z_uo ( V hv,
const V v,
const V uo,
const V un,
const V z,
const TS timeStamp 
) const
inlineoverridevirtual

Reimplemented from ROL::DynamicObjective< Real >.

Definition at line 146 of file ROL_DynamicTrackingObjective.hpp.

References ROL::Vector< Real >::zero().

template<typename Real >
virtual void ROL::DynamicTrackingObjective< Real >::hessVec_z_un ( V hv,
const V v,
const V uo,
const V un,
const V z,
const TS timeStamp 
) const
inlineoverridevirtual

Reimplemented from ROL::DynamicObjective< Real >.

Definition at line 151 of file ROL_DynamicTrackingObjective.hpp.

References ROL::Vector< Real >::zero().

template<typename Real >
virtual void ROL::DynamicTrackingObjective< Real >::hessVec_z_z ( V hv,
const V v,
const V uo,
const V un,
const V z,
const TS timeStamp 
) const
inlineoverridevirtual

Member Data Documentation

template<typename Real >
Ptr<PartitionedVector<Real> > ROL::DynamicTrackingObjective< Real >::target_
private
template<typename Real >
size_type ROL::DynamicTrackingObjective< Real >::Nt_
private

Definition at line 45 of file ROL_DynamicTrackingObjective.hpp.

template<typename Real >
Real ROL::DynamicTrackingObjective< Real >::alpha_
private
template<typename Real >
VectorWorkspace<Real> ROL::DynamicTrackingObjective< Real >::workspace_
mutableprivate

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