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

TimeMap class provides class that serves as an affine Poincare section. More...

#include <capd/poincare/AffineSection.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

 AffineSection (const VectorType &_x, const VectorType &_n)
 
ScalarType operator() (const VectorType &v) const
 evaluates function at a given vector More...
 
void setNormalVector (const VectorType &n)
 
void setOrigin (const VectorType &x)
 
VectorType getOrigin () const
 
VectorType getNormalVector () const
 
VectorType gradient (const VectorType &) const
 returns gradient of the function computed at vector u More...
 
ScalarType evalAt (const capd::dynset::AbstractSet< VectorType > &s) const
 
virtual ScalarType gradientByVector (const VectorType &x, const VectorType &u) const
 
virtual bool isSpecialSection () const
 This is very important function. More...
 
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::AffineSection< MatrixT >

TimeMap class provides class that serves as an affine Poincare section.

The section is defined by two vectors - new origin of coordinate system and normal vector to hyperplane.

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::AffineSection< MatrixT >::JetType

◆ MatrixType

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

◆ ScalarType

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

◆ SectionDerivativesEnclosureType

◆ Set

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

type of abstract base class for all sets

◆ size_type

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

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

◆ VectorType

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

Constructor & Destructor Documentation

◆ AffineSection()

template<typename MatrixT >
capd::poincare::AffineSection< MatrixT >::AffineSection ( const VectorType _x,
const VectorType _n 
)
inline

Member Function Documentation

◆ evalAt() [1/2]

template<typename MatrixT >
ScalarType capd::poincare::AffineSection< 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::AffineSection< MatrixT >::getNormalVector ( ) const
inline

◆ getOrigin()

template<typename MatrixT >
VectorType capd::poincare::AffineSection< MatrixT >::getOrigin ( ) const
inline

◆ gradient()

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

returns gradient of the function computed at vector u

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

◆ gradientByVector()

template<class MatrixT >
virtual ScalarType capd::poincare::AbstractSection< MatrixT >::gradientByVector ( const VectorType x,
const VectorType u 
) const
inlinevirtualinherited

◆ isSpecialSection()

template<class MatrixT >
virtual bool capd::poincare::AbstractSection< MatrixT >::isSpecialSection ( ) const
inlinevirtualinherited

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 in capd::poincare::CoordinateSection< MatrixT >, and capd::poincare::CoordinateSection< MatrixType >.

◆ operator()()

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

evaluates function at a given vector

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

◆ setNormalVector()

template<typename MatrixT >
void capd::poincare::AffineSection< MatrixT >::setNormalVector ( const VectorType n)
inline

◆ setOrigin()

template<typename MatrixT >
void capd::poincare::AffineSection< MatrixT >::setOrigin ( const VectorType x)
inline

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