CAPD::DynSys Library  6.0.0
capd::poincare::CoordinateSection< MatrixT > Class Template Referenceabstract

TimeMap class provides class that serves as Poincare section of the form x_i = c. More...

#include <capd/poincare/CoordinateSection.h>

Public Types

typedef MatrixT MatrixType
 
typedef MatrixType::RowVectorType VectorType
 
typedef MatrixType::ScalarType ScalarType
 
typedef VectorType::size_type size_type
 integral type used to index containers (vectors, matrices, etc) More...
 
typedef capd::dynset::AbstractSet< VectorTypeSet
 type of abstract base class for all sets More...
 
typedef AbstractSection< MatrixT >::JetType JetType
 
typedef capd::diffAlgebra::Hessian< ScalarType, VectorType::csDim, VectorType::csDim > HessianType
 
typedef SectionDerivativesEnclosure< MatrixTypeSectionDerivativesEnclosureType
 

Public Member Functions

 CoordinateSection (size_type D, size_type _i, ScalarType _c=TypeTraits< ScalarType >::zero())
 (indices start at 0)$ More...
 
ScalarType operator() (const VectorType &v) const
 evaluates function at a given vector More...
 
void setDirection (size_type i)
 
void setConstant (ScalarType _c)
 
VectorType getNormalVector () const
 
VectorType gradient (const VectorType &) const
 returns gradient of the function computed at vector u More...
 
ScalarType gradientByVector (const VectorType &, const VectorType &u) const
 
bool isSpecialSection () const
 This is very important function. More...
 
ScalarType evalAt (const capd::dynset::AbstractSet< VectorType > &s) const
 
void computeDT (const JetType &Px, const JetType &vfOnPx, JetType &dT, size_type degree) const
 
virtual ScalarType evalAt (const Set &set) const =0
 This function computes value of section function on a given set. More...
 
virtual void computeDT (const MatrixType &derivativeOfFlow, const VectorType &gradientOnPx, const ScalarType &denominator, VectorType &result) const
 computes gradient of return time More...
 
virtual MatrixType computeDP (const VectorType &Px, const MatrixType &derivativeOfFlow, const VectorType &fieldOnPx, VectorType &dT) const
 Simultaneous computation of gradient of return time and derivative of Poincare Map dP. More...
 
virtual void computeDP (const VectorType &Px, const MatrixType &derivativeOfFlow, const HessianType &hessianOfFlow, const VectorType &fieldOnPx, const VectorType &d2Phidt2, const MatrixType &derOfVectorFieldOnPx, MatrixType &DP, HessianType &D2P, VectorType &dT, MatrixType &d2T) const
 Simultaneous computation of first and second Taylor coefficients of return time and Poincare map. More...
 

Detailed Description

template<typename MatrixT>
class capd::poincare::CoordinateSection< MatrixT >

TimeMap class provides class that serves as Poincare section of the form x_i = c.

The section is defined by:

  • integer - index of variable
  • constant c that defines affine hyperplane x_i=c

Member Typedef Documentation

◆ HessianType

template<class MatrixT >
typedef capd::diffAlgebra::Hessian<ScalarType,VectorType::csDim,VectorType::csDim> capd::poincare::AbstractSection< MatrixT >::HessianType
inherited

◆ JetType

template<typename MatrixT >
typedef AbstractSection<MatrixT>::JetType capd::poincare::CoordinateSection< MatrixT >::JetType

◆ MatrixType

template<typename MatrixT >
typedef MatrixT capd::poincare::CoordinateSection< MatrixT >::MatrixType

◆ ScalarType

template<typename MatrixT >
typedef MatrixType::ScalarType capd::poincare::CoordinateSection< MatrixT >::ScalarType

◆ SectionDerivativesEnclosureType

◆ Set

template<typename MatrixT >
typedef capd::dynset::AbstractSet<VectorType> capd::poincare::CoordinateSection< MatrixT >::Set

type of abstract base class for all sets

◆ size_type

template<typename MatrixT >
typedef VectorType::size_type capd::poincare::CoordinateSection< MatrixT >::size_type

integral type used to index containers (vectors, matrices, etc)

◆ VectorType

template<typename MatrixT >
typedef MatrixType::RowVectorType capd::poincare::CoordinateSection< MatrixT >::VectorType

Constructor & Destructor Documentation

◆ CoordinateSection()

template<typename MatrixT >
capd::poincare::CoordinateSection< MatrixT >::CoordinateSection ( size_type  D,
size_type  _i,
ScalarType  _c = TypeTraits<ScalarType>::zero() 
)
inline

(indices start at 0)$

Parameters
Dphase space dimension
_iindex of coordinate which defines section (counted from 0)
_cvalue that defines section

Member Function Documentation

◆ computeDT()

template<typename MatrixT >
void capd::poincare::CoordinateSection< MatrixT >::computeDT ( const JetType Px,
const JetType vfOnPx,
JetType dT,
size_type  degree 
) const
inline

◆ evalAt() [1/2]

template<typename MatrixT >
ScalarType capd::poincare::CoordinateSection< MatrixT >::evalAt ( const capd::dynset::AbstractSet< VectorType > &  s) const
inline

◆ evalAt() [2/2]

template<class MatrixT >
virtual ScalarType capd::poincare::AbstractSection< MatrixT >::evalAt ( const Set set) const
pure virtualinherited

This function computes value of section function on a given set.

◆ getNormalVector()

template<typename MatrixT >
VectorType capd::poincare::CoordinateSection< MatrixT >::getNormalVector ( ) const
inline

◆ gradient()

template<typename MatrixT >
VectorType capd::poincare::CoordinateSection< MatrixT >::gradient ( const VectorType u) const
inlinevirtual

returns gradient of the function computed at vector u

Implements capd::poincare::AbstractSection< MatrixT >.

◆ gradientByVector()

template<typename MatrixT >
ScalarType capd::poincare::CoordinateSection< MatrixT >::gradientByVector ( const VectorType ,
const VectorType u 
) const
inlinevirtual

◆ isSpecialSection()

template<typename MatrixT >
bool capd::poincare::CoordinateSection< MatrixT >::isSpecialSection ( ) const
inlinevirtual

This is very important function.

If it returns true, class PoincareMap delegates computation of value of section(set) to the section. Otherwise it is assumed that the set has more information to compute value of section(set) in most optimal way. This is quite natural as the set knows its own representation. This function returns true for instance if the PoincareSection is given by x_i=c, where x_i is i-th coordinate and c is constant.

Reimplemented from capd::poincare::AbstractSection< MatrixT >.

◆ operator()()

template<typename MatrixT >
ScalarType capd::poincare::CoordinateSection< MatrixT >::operator() ( const VectorType v) const
inlinevirtual

evaluates function at a given vector

Implements capd::poincare::AbstractSection< MatrixT >.

◆ setConstant()

template<typename MatrixT >
void capd::poincare::CoordinateSection< MatrixT >::setConstant ( ScalarType  _c)
inline

◆ setDirection()

template<typename MatrixT >
void capd::poincare::CoordinateSection< MatrixT >::setDirection ( size_type  i)
inline

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