CAPD DynSys Library  5.2.0
capd::dynsys::FadMap< Scalar, D > Class Template Referenceabstract

#include <capd/dynsys/FadMap.h>

Public Types

typedef Scalar ScalarType
 
typedef capd::vectalg::Matrix< ScalarType, D, D > MatrixType
 
typedef capd::vectalg::Vector< ScalarType, D > VectorType
 
typedef FadFunction< VectorTypeFunctionType
 
typedef capd::diffAlgebra::Hessian< ScalarType, VectorType::csDim, VectorType::csDimHessianType
 

Public Member Functions

virtual ~FadMap ()
 
template<class TimeT , typename AVector >
AVector operator() (const TimeT &, const AVector &) const
 
template<typename AVector >
AVector operator() (const AVector &) const
 For backward compatibility. It computes derivative of the vector field for an autonomous vector field. You can implement it as follow. More...
 
virtual MatrixType derivative (const ScalarType &, const VectorType &) const =0
 This operator should compute derivative of the vector field. One can specify own implementation or use in the implementation a template function computeDerivative from file differentiate.h (as in the example of the Lorenz system below) which performs FAD to compute derivative of a map. More...
 
virtual VectorType operator() (ScalarType, const VectorType &, MatrixType &) const =0
 computes simultaneously value and derivative of the map for a given vector and time More...
 
virtual MatrixType operator[] (const VectorType &) const =0
 For backward compatibility. It computes derivative of the vector field for an autonomous vector field. More...
 
template<typename Description >
void setParameter (Description, Scalar)
 This function should set parameter value of the vector field as a Description we may use integers or strings, etc. More...
 
unsigned dimension ()
 You must implement this method. It must return the dimension of the phase space. More...
 
unsigned degree ()
 Maximal order of spacial derivatives that this map can compute. More...
 

Member Typedef Documentation

◆ FunctionType

template<typename Scalar , unsigned D>
typedef FadFunction<VectorType> capd::dynsys::FadMap< Scalar, D >::FunctionType

◆ HessianType

◆ MatrixType

template<typename Scalar , unsigned D>
typedef capd::vectalg::Matrix<ScalarType,D,D> capd::dynsys::FadMap< Scalar, D >::MatrixType

◆ ScalarType

template<typename Scalar , unsigned D>
typedef Scalar capd::dynsys::FadMap< Scalar, D >::ScalarType

◆ VectorType

template<typename Scalar , unsigned D>
typedef capd::vectalg::Vector<ScalarType,D> capd::dynsys::FadMap< Scalar, D >::VectorType

Constructor & Destructor Documentation

◆ ~FadMap()

template<typename Scalar , unsigned D>
virtual capd::dynsys::FadMap< Scalar, D >::~FadMap ( )
inlinevirtual

Member Function Documentation

◆ degree()

template<typename Scalar , unsigned D>
unsigned capd::dynsys::FadMap< Scalar, D >::degree ( )
inline

Maximal order of spacial derivatives that this map can compute.

◆ derivative()

template<typename Scalar , unsigned D>
virtual MatrixType capd::dynsys::FadMap< Scalar, D >::derivative ( const ScalarType ,
const VectorType  
) const
pure virtual

This operator should compute derivative of the vector field. One can specify own implementation or use in the implementation a template function computeDerivative from file differentiate.h (as in the example of the Lorenz system below) which performs FAD to compute derivative of a map.

Implemented in capd::dynsys::LorenzFadMap< Scalar, D >.

◆ dimension()

template<typename Scalar , unsigned D>
unsigned capd::dynsys::FadMap< Scalar, D >::dimension ( )
inline

You must implement this method. It must return the dimension of the phase space.

◆ operator()() [1/3]

template<typename Scalar , unsigned D>
template<typename AVector >
AVector capd::dynsys::FadMap< Scalar, D >::operator() ( const AVector &  ) const

For backward compatibility. It computes derivative of the vector field for an autonomous vector field. You can implement it as follow.

◆ operator()() [2/3]

template<typename Scalar , unsigned D>
template<class TimeT , typename AVector >
AVector capd::dynsys::FadMap< Scalar, D >::operator() ( const TimeT &  ,
const AVector &   
) const

◆ operator()() [3/3]

template<typename Scalar , unsigned D>
virtual VectorType capd::dynsys::FadMap< Scalar, D >::operator() ( ScalarType  ,
const VectorType ,
MatrixType  
) const
pure virtual

computes simultaneously value and derivative of the map for a given vector and time

Implemented in capd::dynsys::LorenzFadMap< Scalar, D >.

◆ operator[]()

template<typename Scalar , unsigned D>
virtual MatrixType capd::dynsys::FadMap< Scalar, D >::operator[] ( const VectorType ) const
pure virtual

For backward compatibility. It computes derivative of the vector field for an autonomous vector field.

Implemented in capd::dynsys::LorenzFadMap< Scalar, D >.

◆ setParameter()

template<typename Scalar , unsigned D>
template<typename Description >
void capd::dynsys::FadMap< Scalar, D >::setParameter ( Description  ,
Scalar   
)
inline

This function should set parameter value of the vector field as a Description we may use integers or strings, etc.