CAPD::DynSys Library  6.0.0
capd::pdes::PdeCurve< SeriesT > Class Template Reference

This class is a data structure for storing of a parametric curve together with first order derivatives with respect to initial point. More...

#include <capd/pdes/PdeCurve.h>

Public Types

typedef SeriesT VectorType
 
typedef capd::IVector FiniteVectorType
 
typedef capd::IMatrix MatrixType
 
typedef capd::diffAlgebra::CurveInterface< capd::IMatrix >::HessianType HessianType
 
typedef capd::diffAlgebra::CurveInterface< capd::IMatrix >::JetType JetType
 
typedef MatrixType::ScalarType ScalarType
 
typedef TypeTraits< ScalarType >::Real Real
 
typedef MatrixType::size_type size_type
 
typedef std::vector< VectorType > VectorArray
 
typedef std::vector< VectorArray > MatrixArray
 

Public Member Functions

 PdeCurve (size_type dim, size_type order)
 
virtual ~PdeCurve ()
 
PdeCurve & operator= (const PdeCurve &c)
 
virtual VectorType operator() (const ScalarType &h) const
 
virtual VectorType valueAtCenter (const ScalarType &h) const
 
virtual VectorType remainder (const ScalarType &h) const
 
virtual MatrixType oneStepDerivativeOfNumericalMethod (const ScalarType &h) const
 
virtual VectorType getCenter () const
 
virtual MatrixType derivative (const ScalarType &h) const
 
virtual MatrixType operator[] (const ScalarType &h) const
 
virtual void setOrder (size_type order)
 Sets the order of Taylor interpolation. More...
 
size_type getOrder () const
 Returns the order of Taylor interpolation. More...
 
size_type getAllocatedOrder () const
 Returns maximal allocated order - used to avoid memory reallocation. More...
 
size_type dimension () const
 Returns the dimension in which the relevant dynamics is observed. More...
 
void clearCoefficients ()
 sets all coefficients to zero More...
 
const ScalarType centerCoefficient (size_type i, size_type j) const
 
const ScalarType coefficient (size_type i, size_type j) const
 
const ScalarType remainderCoefficient (size_type i, size_type j) const
 
const ScalarType coefficient (size_type i, size_type j, size_type k) const
 
const ScalarType remainderCoefficient (size_type i, size_type j, size_type k) const
 
VectorArray & getCoefficientsAtCenter ()
 
VectorArray & getCoefficients ()
 
VectorArray & getRemainderCoefficients ()
 
MatrixArray & getMatrixCoefficients ()
 
MatrixArray & getMatrixRemainderCoefficients ()
 
MatrixArray & getDyxCoefficients ()
 
MatrixArray & getDyxRemainderCoefficients ()
 
const VectorArray & getCoefficientsAtCenter () const
 
const VectorArray & getCoefficients () const
 
const VectorArray & getRemainderCoefficients () const
 
const MatrixArray & getMatrixCoefficients () const
 
const MatrixArray & getMatrixRemainderCoefficients () const
 
const MatrixArray & getDyxCoefficients () const
 
const MatrixArray & getDyxRemainderCoefficients () const
 
void setInitMatrix (const MatrixType &M)
 
void setInitMatrix (const MatrixType &)
 
void setInitHessian (const HessianType &)
 
void setInitJet (const JetType &)
 
std::runtime_error domainErrorMessage (std::string msg, ScalarType h, Real left, Real right) const
 
virtual HessianType hessian (const ScalarType &) const
 
virtual JetType jet (const ScalarType &) const
 
virtual void eval (ScalarType, JetType &) const
 
virtual void setDomain (Real left, Real right)
 
virtual Real getLeftDomain () const
 
virtual Real getRightDomain () const
 

Protected Member Functions

template<class V >
void sumTaylorSeries (V &x, const VectorArray &c, ScalarType h, int p, size_type dim) const
 
void sumTaylorSeries (MatrixType &A, const MatrixArray &J, ScalarType h, int p, size_type dim) const
 
void realloc (size_type dimension)
 

Protected Attributes

VectorArray m_coefficientsAtCenter
 
VectorArray m_coefficients
 
VectorArray m_remainderCoefficients
 
MatrixArray m_matrixCoefficients
 
MatrixArray m_matrixRemainderCoefficients
 
MatrixArray m_dyxCoefficients
 
MatrixArray m_dyxRemainderCoefficients
 
size_type m_order
 
MatrixType initMatrix
 
Real m_left
 
Real m_right
 domain More...
 

Detailed Description

template<class SeriesT>
class capd::pdes::PdeCurve< SeriesT >

This class is a data structure for storing of a parametric curve together with first order derivatives with respect to initial point.

More precisely, a curve c(t,x) is represented as c(t,x_0) + d/dx c(t,x)(x-x_0) + smallRemainder(t,x)

This class provides a member functions for accessing of all coefficients.

Member Typedef Documentation

◆ FiniteVectorType

template<class SeriesT >
typedef capd::IVector capd::pdes::PdeCurve< SeriesT >::FiniteVectorType

◆ HessianType

◆ JetType

◆ MatrixArray

template<class SeriesT >
typedef std::vector<VectorArray> capd::pdes::PdeCurve< SeriesT >::MatrixArray

◆ MatrixType

template<class SeriesT >
typedef capd::IMatrix capd::pdes::PdeCurve< SeriesT >::MatrixType

◆ Real

template<class SeriesT >
typedef TypeTraits<ScalarType>::Real capd::pdes::PdeCurve< SeriesT >::Real

◆ ScalarType

template<class SeriesT >
typedef MatrixType::ScalarType capd::pdes::PdeCurve< SeriesT >::ScalarType

◆ size_type

template<class SeriesT >
typedef MatrixType::size_type capd::pdes::PdeCurve< SeriesT >::size_type

◆ VectorArray

template<class SeriesT >
typedef std::vector<VectorType> capd::pdes::PdeCurve< SeriesT >::VectorArray

◆ VectorType

template<class SeriesT >
typedef SeriesT capd::pdes::PdeCurve< SeriesT >::VectorType

Constructor & Destructor Documentation

◆ ~PdeCurve()

template<class SeriesT >
virtual capd::pdes::PdeCurve< SeriesT >::~PdeCurve ( )
inlinevirtual

Member Function Documentation

◆ derivative()

template<class SeriesT >
virtual MatrixType capd::pdes::PdeCurve< SeriesT >::derivative ( const ScalarType &  h) const
inlinevirtual

◆ domainErrorMessage()

std::runtime_error capd::diffAlgebra::CurveInterface< capd::IMatrix >::domainErrorMessage ( std::string  msg,
ScalarType  h,
Real  left,
Real  right 
) const
inlineinherited

◆ eval()

virtual void capd::diffAlgebra::ParametricCurve< capd::IMatrix , SeriesT >::eval ( ScalarType  ,
JetType &   
) const
inlinevirtualinherited

◆ getAllocatedOrder()

template<class SeriesT >
size_type capd::pdes::PdeCurve< SeriesT >::getAllocatedOrder ( ) const

Returns maximal allocated order - used to avoid memory reallocation.

◆ getCenter()

template<class SeriesT >
virtual VectorType capd::pdes::PdeCurve< SeriesT >::getCenter ( ) const
inlinevirtual

◆ getCoefficients() [1/2]

template<class SeriesT >
VectorArray& capd::pdes::PdeCurve< SeriesT >::getCoefficients ( )
inline

◆ getCoefficients() [2/2]

template<class SeriesT >
const VectorArray& capd::pdes::PdeCurve< SeriesT >::getCoefficients ( ) const
inline

◆ getCoefficientsAtCenter() [1/2]

template<class SeriesT >
VectorArray& capd::pdes::PdeCurve< SeriesT >::getCoefficientsAtCenter ( )
inline

◆ getCoefficientsAtCenter() [2/2]

template<class SeriesT >
const VectorArray& capd::pdes::PdeCurve< SeriesT >::getCoefficientsAtCenter ( ) const
inline

◆ getDyxCoefficients() [1/2]

template<class SeriesT >
MatrixArray& capd::pdes::PdeCurve< SeriesT >::getDyxCoefficients ( )
inline

◆ getDyxCoefficients() [2/2]

template<class SeriesT >
const MatrixArray& capd::pdes::PdeCurve< SeriesT >::getDyxCoefficients ( ) const
inline

◆ getDyxRemainderCoefficients() [1/2]

template<class SeriesT >
MatrixArray& capd::pdes::PdeCurve< SeriesT >::getDyxRemainderCoefficients ( )
inline

◆ getDyxRemainderCoefficients() [2/2]

template<class SeriesT >
const MatrixArray& capd::pdes::PdeCurve< SeriesT >::getDyxRemainderCoefficients ( ) const
inline

◆ getLeftDomain()

ParametricCurve< capd::IMatrix , SeriesT >::Real capd::diffAlgebra::ParametricCurve< capd::IMatrix , SeriesT >::getLeftDomain
inlinevirtualinherited

◆ getMatrixCoefficients() [1/2]

template<class SeriesT >
MatrixArray& capd::pdes::PdeCurve< SeriesT >::getMatrixCoefficients ( )
inline

◆ getMatrixCoefficients() [2/2]

template<class SeriesT >
const MatrixArray& capd::pdes::PdeCurve< SeriesT >::getMatrixCoefficients ( ) const
inline

◆ getMatrixRemainderCoefficients() [1/2]

template<class SeriesT >
MatrixArray& capd::pdes::PdeCurve< SeriesT >::getMatrixRemainderCoefficients ( )
inline

◆ getMatrixRemainderCoefficients() [2/2]

template<class SeriesT >
const MatrixArray& capd::pdes::PdeCurve< SeriesT >::getMatrixRemainderCoefficients ( ) const
inline

◆ getRemainderCoefficients() [1/2]

template<class SeriesT >
VectorArray& capd::pdes::PdeCurve< SeriesT >::getRemainderCoefficients ( )
inline

◆ getRemainderCoefficients() [2/2]

template<class SeriesT >
const VectorArray& capd::pdes::PdeCurve< SeriesT >::getRemainderCoefficients ( ) const
inline

◆ getRightDomain()

ParametricCurve< capd::IMatrix , SeriesT >::Real capd::diffAlgebra::ParametricCurve< capd::IMatrix , SeriesT >::getRightDomain
inlinevirtualinherited

◆ hessian()

virtual HessianType capd::diffAlgebra::ParametricCurve< capd::IMatrix , SeriesT >::hessian ( const ScalarType &  ) const
inlinevirtualinherited

◆ jet()

virtual JetType capd::diffAlgebra::ParametricCurve< capd::IMatrix , SeriesT >::jet ( const ScalarType &  ) const
inlinevirtualinherited

◆ oneStepDerivativeOfNumericalMethod()

template<class SeriesT >
virtual MatrixType capd::pdes::PdeCurve< SeriesT >::oneStepDerivativeOfNumericalMethod ( const ScalarType &  h) const
inlinevirtual

◆ operator()()

template<class SeriesT >
virtual VectorType capd::pdes::PdeCurve< SeriesT >::operator() ( const ScalarType &  h) const
inlinevirtual

◆ operator=()

template<class SeriesT >
PdeCurve& capd::pdes::PdeCurve< SeriesT >::operator= ( const PdeCurve< SeriesT > &  c)

◆ operator[]()

template<class SeriesT >
virtual MatrixType capd::pdes::PdeCurve< SeriesT >::operator[] ( const ScalarType &  h) const
inlinevirtual

◆ remainder()

template<class SeriesT >
virtual VectorType capd::pdes::PdeCurve< SeriesT >::remainder ( const ScalarType &  h) const
inlinevirtual

◆ remainderCoefficient()

template<class SeriesT >
const ScalarType capd::pdes::PdeCurve< SeriesT >::remainderCoefficient ( size_type  i,
size_type  j,
size_type  k 
) const

◆ setDomain()

void capd::diffAlgebra::ParametricCurve< capd::IMatrix , SeriesT >::setDomain ( Real  left,
Real  right 
)
inlinevirtualinherited

◆ setInitHessian()

void capd::diffAlgebra::CurveInterface< capd::IMatrix >::setInitHessian ( const HessianType &  )
inlineinherited

◆ setInitJet()

void capd::diffAlgebra::CurveInterface< capd::IMatrix >::setInitJet ( const JetType &  )
inlineinherited

◆ setInitMatrix() [1/2]

void capd::diffAlgebra::CurveInterface< capd::IMatrix >::setInitMatrix ( const MatrixType &  )
inlineinherited

◆ setInitMatrix() [2/2]

template<class SeriesT >
void capd::pdes::PdeCurve< SeriesT >::setInitMatrix ( const MatrixType &  M)
inline

◆ valueAtCenter()

template<class SeriesT >
virtual VectorType capd::pdes::PdeCurve< SeriesT >::valueAtCenter ( const ScalarType &  h) const
inlinevirtual

Member Data Documentation

◆ initMatrix

template<class SeriesT >
MatrixType capd::pdes::PdeCurve< SeriesT >::initMatrix
protected

◆ m_coefficients

template<class SeriesT >
VectorArray capd::pdes::PdeCurve< SeriesT >::m_coefficients
protected

◆ m_coefficientsAtCenter

template<class SeriesT >
VectorArray capd::pdes::PdeCurve< SeriesT >::m_coefficientsAtCenter
protected

◆ m_dyxCoefficients

template<class SeriesT >
MatrixArray capd::pdes::PdeCurve< SeriesT >::m_dyxCoefficients
protected

◆ m_dyxRemainderCoefficients

template<class SeriesT >
MatrixArray capd::pdes::PdeCurve< SeriesT >::m_dyxRemainderCoefficients
protected

◆ m_left

Real capd::diffAlgebra::ParametricCurve< capd::IMatrix , SeriesT >::m_left
protectedinherited

◆ m_matrixCoefficients

template<class SeriesT >
MatrixArray capd::pdes::PdeCurve< SeriesT >::m_matrixCoefficients
protected

◆ m_matrixRemainderCoefficients

template<class SeriesT >
MatrixArray capd::pdes::PdeCurve< SeriesT >::m_matrixRemainderCoefficients
protected

◆ m_order

template<class SeriesT >
size_type capd::pdes::PdeCurve< SeriesT >::m_order
protected

◆ m_remainderCoefficients

template<class SeriesT >
VectorArray capd::pdes::PdeCurve< SeriesT >::m_remainderCoefficients
protected

◆ m_right

Real capd::diffAlgebra::ParametricCurve< capd::IMatrix , SeriesT >::m_right
protectedinherited

domain


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