CAPD DynSys Library  5.2.0
capd::pdes::PdeAffineSection< VectorT, MatrixT > Class Template Reference

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

#include <capd/pdes/PdeAffineSection.h>

Public Types

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

Public Member Functions

 PdeAffineSection (const VectorType &x, const VectorType &n)
 
 PdeAffineSection (const FiniteVectorType &x, const FiniteVectorType &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 gradient (const VectorType &u) const
 returns gradient of the function computed at vector u More...
 
ScalarType gradientByVector (const VectorType &x, const VectorType &u) const
 
ScalarType evalAt (const Set &s) const
 This function computes value of section function on a given set. More...
 
const capd::poincare::AbstractSection< MatrixType > & getProjection (size_type dim) const
 
virtual bool isSpecialSection () const
 This is very important function. More...
 
virtual MatrixType computeDP (const VectorType &P, const VectorType &vfOnP, const MatrixType &Dxx, const FiniteVectorType &Dy, const ScalarType &Dyx, FiniteVectorType &Py, ScalarType &Pyx) const
 Simultaneous computation of gradient of return time and derivative of Poincare Map dP. More...
 

Detailed Description

template<typename VectorT, typename MatrixT>
class capd::pdes::PdeAffineSection< VectorT, 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

◆ FiniteVectorType

template<typename VectorT , typename MatrixT >
typedef MatrixType::RowVectorType capd::pdes::PdeAffineSection< VectorT, MatrixT >::FiniteVectorType

◆ HessianType

template<typename VectorT , typename MatrixT >
typedef capd::diffAlgebra::Hessian<ScalarType,FiniteVectorType::csDim,FiniteVectorType::csDim> capd::pdes::PdeAffineSection< VectorT, MatrixT >::HessianType

◆ JetType

template<typename VectorT , typename MatrixT >
typedef capd::diffAlgebra::Jet<MatrixT,0> capd::pdes::PdeAffineSection< VectorT, MatrixT >::JetType

◆ MatrixType

template<typename VectorT , typename MatrixT >
typedef MatrixT capd::pdes::PdeAffineSection< VectorT, MatrixT >::MatrixType

◆ ScalarType

template<typename VectorT , typename MatrixT >
typedef MatrixType::ScalarType capd::pdes::PdeAffineSection< VectorT, MatrixT >::ScalarType

◆ SectionDerivativesEnclosureType

template<class VectorT , class MatrixT >
typedef PdeSectionDerivativesEnclosure<VectorType,MatrixType> capd::pdes::PdeAbstractSection< VectorT, MatrixT >::SectionDerivativesEnclosureType
inherited

◆ Set

template<typename VectorT , typename MatrixT >
typedef capd::dynset::AbstractSet<FiniteVectorType> capd::pdes::PdeAffineSection< VectorT, MatrixT >::Set

type of abstract base class for all sets

◆ size_type

template<typename VectorT , typename MatrixT >
typedef VectorType::size_type capd::pdes::PdeAffineSection< VectorT, MatrixT >::size_type

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

◆ VectorType

template<typename VectorT , typename MatrixT >
typedef VectorT capd::pdes::PdeAffineSection< VectorT, MatrixT >::VectorType

Constructor & Destructor Documentation

◆ PdeAffineSection() [1/2]

template<typename VectorT , typename MatrixT >
capd::pdes::PdeAffineSection< VectorT, MatrixT >::PdeAffineSection ( const VectorType x,
const VectorType n 
)
inline

◆ PdeAffineSection() [2/2]

template<typename VectorT , typename MatrixT >
capd::pdes::PdeAffineSection< VectorT, MatrixT >::PdeAffineSection ( const FiniteVectorType x,
const FiniteVectorType n 
)
inline

Member Function Documentation

◆ computeDP()

template<class VectorT , class MatrixT >
virtual MatrixType capd::pdes::PdeAbstractSection< VectorT, MatrixT >::computeDP ( const VectorType P,
const VectorType vfOnP,
const MatrixType Dxx,
const FiniteVectorType Dy,
const ScalarType Dyx,
FiniteVectorType Py,
ScalarType Pyx 
) const
inlinevirtualinherited

Simultaneous computation of gradient of return time and derivative of Poincare Map dP.

Parameters
[in]P- value of Poincare map
[in]D- finite block of solution to first variational equation computed at return time
[out]vfOnP- vector field evaluated on P

◆ evalAt()

template<typename VectorT , typename MatrixT >
ScalarType capd::pdes::PdeAffineSection< VectorT, MatrixT >::evalAt ( const Set set) const
inlinevirtual

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

Reimplemented from capd::pdes::PdeAbstractSection< VectorT, MatrixT >.

◆ getProjection()

template<typename VectorT , typename MatrixT >
const capd::poincare::AbstractSection<MatrixType>& capd::pdes::PdeAffineSection< VectorT, MatrixT >::getProjection ( size_type  dim) const
inlinevirtual

◆ gradient()

template<typename VectorT , typename MatrixT >
VectorType capd::pdes::PdeAffineSection< VectorT, MatrixT >::gradient ( const VectorType u) const
inlinevirtual

returns gradient of the function computed at vector u

Implements capd::pdes::PdeAbstractSection< VectorT, MatrixT >.

◆ gradientByVector()

template<typename VectorT , typename MatrixT >
ScalarType capd::pdes::PdeAffineSection< VectorT, MatrixT >::gradientByVector ( const VectorType x,
const VectorType u 
) const
inlinevirtual

◆ isSpecialSection()

template<class VectorT , class MatrixT >
virtual bool capd::pdes::PdeAbstractSection< VectorT, 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::pdes::PdeCoordinateSection< VectorT, MatrixT >.

◆ operator()()

template<typename VectorT , typename MatrixT >
ScalarType capd::pdes::PdeAffineSection< VectorT, MatrixT >::operator() ( const VectorType v) const
inlinevirtual

evaluates function at a given vector

Implements capd::pdes::PdeAbstractSection< VectorT, MatrixT >.

◆ setNormalVector()

template<typename VectorT , typename MatrixT >
void capd::pdes::PdeAffineSection< VectorT, MatrixT >::setNormalVector ( const VectorType n)
inline

◆ setOrigin()

template<typename VectorT , typename MatrixT >
void capd::pdes::PdeAffineSection< VectorT, MatrixT >::setOrigin ( const VectorType x)
inline