CAPD DynSys Library 5.2.0
capd::diffAlgebra::BasicCurve< MatrixT > 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/diffAlgebra/BasicCurve.h>

Public Types

typedef MatrixT MatrixType
 
typedef MatrixType::RowVectorType VectorType
 
typedef MatrixType::ScalarType ScalarType
 
typedef TypeTraits< ScalarType >::Real Real
 
typedef __size_type size_type
 
typedef __difference_type difference_type
 
typedef VectorType::iterator iterator
 
typedef VectorType::const_iterator const_iterator
 
typedef Hessian< ScalarType, VectorType::csDim, VectorType::csDim > HessianType
 
typedef Jet< MatrixType, 0 > JetType
 

Public Member Functions

 BasicCurve (size_type dimension, size_type order, size_type degree)
 
 BasicCurve (const BasicCurve &c)
 
virtual ~BasicCurve ()
 
BasicCurveoperator= (const BasicCurve &c)
 
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 parametric curve is embedded. More...
 
void clearCoefficients ()
 sets all coefficients to zero More...
 
const ScalarTypecenterCoefficient (size_type i, size_type j) const
 
const ScalarTypecoefficient (size_type i, size_type j) const
 
const ScalarTyperemainderCoefficient (size_type i, size_type j) const
 
const ScalarTypecoefficient (size_type i, size_type j, size_type k) const
 
const ScalarTyperemainderCoefficient (size_type i, size_type j, size_type k) const
 
ScalarTypecenterCoefficient (size_type i, size_type j)
 
ScalarTypecoefficient (size_type i, size_type j)
 
ScalarTyperemainderCoefficient (size_type i, size_type j)
 
ScalarTypecoefficient (size_type i, size_type j, size_type k)
 
ScalarTyperemainderCoefficient (size_type i, size_type j, size_type k)
 
const VectorTypegetCoefficientsAtCenter () const
 
const VectorTypegetCoefficients () const
 
const VectorTypegetRemainderCoefficients () const
 
const MatrixTypegetMatrixCoefficients () const
 
const MatrixTypegetMatrixRemainderCoefficients () const
 
VectorTypegetCoefficientsAtCenter ()
 
VectorTypegetCoefficients ()
 
VectorTypegetRemainderCoefficients ()
 
MatrixTypegetMatrixCoefficients ()
 
MatrixTypegetMatrixRemainderCoefficients ()
 
iterator beginCenterCoefficients (size_type j)
 
iterator beginCoefficients (size_type j)
 
iterator beginRemainderCoefficients (size_type j)
 
iterator beginMatrixCoefficients (size_type j)
 
iterator beginMatrixRemainderCoefficients (size_type j)
 
iterator endCenterCoefficients (size_type j)
 
iterator endCoefficients (size_type j)
 
iterator endRemainderCoefficients (size_type j)
 
iterator endMatrixCoefficients (size_type j)
 
iterator endMatrixRemainderCoefficients (size_type j)
 
const_iterator beginCenterCoefficients (size_type j) const
 
const_iterator beginCoefficients (size_type j) const
 
const_iterator beginRemainderCoefficients (size_type j) const
 
const_iterator beginMatrixCoefficients (size_type j) const
 
const_iterator beginMatrixRemainderCoefficients (size_type j) const
 
const_iterator endCenterCoefficients (size_type j) const
 
const_iterator endCoefficients (size_type j) const
 
const_iterator endRemainderCoefficients (size_type j) const
 
const_iterator endMatrixCoefficients (size_type j) const
 
const_iterator endMatrixRemainderCoefficients (size_type j) const
 
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
 

Protected Member Functions

void allocate ()
 
void deallocate ()
 
void copyData (const BasicCurve &c)
 

Protected Attributes

VectorTypem_coefficientsAtCenter
 
VectorTypem_coefficients
 
VectorTypem_remainderCoefficients
 
MatrixTypem_matrixCoefficients
 
MatrixTypem_matrixRemainderCoefficients
 
size_type m_order
 
size_type m_allocatedOrder
 
size_type m_dimension
 

Detailed Description

template<class MatrixT>
class capd::diffAlgebra::BasicCurve< MatrixT >

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.

This class is a basic class for more general Curve.

Member Typedef Documentation

◆ const_iterator

template<class MatrixT >
typedef VectorType::const_iterator capd::diffAlgebra::BasicCurve< MatrixT >::const_iterator

◆ difference_type

template<class MatrixT >
typedef __difference_type capd::diffAlgebra::BasicCurve< MatrixT >::difference_type

◆ HessianType

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

◆ iterator

template<class MatrixT >
typedef VectorType::iterator capd::diffAlgebra::BasicCurve< MatrixT >::iterator

◆ JetType

template<class MatrixT >
typedef Jet<MatrixType,0> capd::diffAlgebra::CurveInterface< MatrixT >::JetType
inherited

◆ MatrixType

template<class MatrixT >
typedef MatrixT capd::diffAlgebra::BasicCurve< MatrixT >::MatrixType

◆ Real

template<class MatrixT >
typedef TypeTraits<ScalarType>::Real capd::diffAlgebra::BasicCurve< MatrixT >::Real

◆ ScalarType

template<class MatrixT >
typedef MatrixType::ScalarType capd::diffAlgebra::BasicCurve< MatrixT >::ScalarType

◆ size_type

template<class MatrixT >
typedef __size_type capd::diffAlgebra::BasicCurve< MatrixT >::size_type

◆ VectorType

template<class MatrixT >
typedef MatrixType::RowVectorType capd::diffAlgebra::BasicCurve< MatrixT >::VectorType

Member Function Documentation

◆ beginCenterCoefficients() [1/2]

template<class MatrixT >
iterator capd::diffAlgebra::BasicCurve< MatrixT >::beginCenterCoefficients ( size_type  j)
inline

◆ beginCenterCoefficients() [2/2]

template<class MatrixT >
const_iterator capd::diffAlgebra::BasicCurve< MatrixT >::beginCenterCoefficients ( size_type  j) const
inline

◆ beginCoefficients() [1/2]

template<class MatrixT >
iterator capd::diffAlgebra::BasicCurve< MatrixT >::beginCoefficients ( size_type  j)
inline

◆ beginCoefficients() [2/2]

template<class MatrixT >
const_iterator capd::diffAlgebra::BasicCurve< MatrixT >::beginCoefficients ( size_type  j) const
inline

◆ beginMatrixCoefficients() [1/2]

template<class MatrixT >
iterator capd::diffAlgebra::BasicCurve< MatrixT >::beginMatrixCoefficients ( size_type  j)
inline

◆ beginMatrixCoefficients() [2/2]

template<class MatrixT >
const_iterator capd::diffAlgebra::BasicCurve< MatrixT >::beginMatrixCoefficients ( size_type  j) const
inline

◆ beginMatrixRemainderCoefficients() [1/2]

template<class MatrixT >
iterator capd::diffAlgebra::BasicCurve< MatrixT >::beginMatrixRemainderCoefficients ( size_type  j)
inline

◆ beginMatrixRemainderCoefficients() [2/2]

template<class MatrixT >
const_iterator capd::diffAlgebra::BasicCurve< MatrixT >::beginMatrixRemainderCoefficients ( size_type  j) const
inline

◆ beginRemainderCoefficients() [1/2]

template<class MatrixT >
iterator capd::diffAlgebra::BasicCurve< MatrixT >::beginRemainderCoefficients ( size_type  j)
inline

◆ beginRemainderCoefficients() [2/2]

template<class MatrixT >
const_iterator capd::diffAlgebra::BasicCurve< MatrixT >::beginRemainderCoefficients ( size_type  j) const
inline

◆ domainErrorMessage()

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

◆ endCenterCoefficients() [1/2]

template<class MatrixT >
iterator capd::diffAlgebra::BasicCurve< MatrixT >::endCenterCoefficients ( size_type  j)
inline

◆ endCenterCoefficients() [2/2]

template<class MatrixT >
const_iterator capd::diffAlgebra::BasicCurve< MatrixT >::endCenterCoefficients ( size_type  j) const
inline

◆ endCoefficients() [1/2]

template<class MatrixT >
iterator capd::diffAlgebra::BasicCurve< MatrixT >::endCoefficients ( size_type  j)
inline

◆ endCoefficients() [2/2]

template<class MatrixT >
const_iterator capd::diffAlgebra::BasicCurve< MatrixT >::endCoefficients ( size_type  j) const
inline

◆ endMatrixCoefficients() [1/2]

template<class MatrixT >
iterator capd::diffAlgebra::BasicCurve< MatrixT >::endMatrixCoefficients ( size_type  j)
inline

◆ endMatrixCoefficients() [2/2]

template<class MatrixT >
const_iterator capd::diffAlgebra::BasicCurve< MatrixT >::endMatrixCoefficients ( size_type  j) const
inline

◆ endMatrixRemainderCoefficients() [1/2]

template<class MatrixT >
iterator capd::diffAlgebra::BasicCurve< MatrixT >::endMatrixRemainderCoefficients ( size_type  j)
inline

◆ endMatrixRemainderCoefficients() [2/2]

template<class MatrixT >
const_iterator capd::diffAlgebra::BasicCurve< MatrixT >::endMatrixRemainderCoefficients ( size_type  j) const
inline

◆ endRemainderCoefficients() [1/2]

template<class MatrixT >
iterator capd::diffAlgebra::BasicCurve< MatrixT >::endRemainderCoefficients ( size_type  j)
inline

◆ endRemainderCoefficients() [2/2]

template<class MatrixT >
const_iterator capd::diffAlgebra::BasicCurve< MatrixT >::endRemainderCoefficients ( size_type  j) const
inline

◆ setInitHessian()

template<class MatrixT >
void capd::diffAlgebra::CurveInterface< MatrixT >::setInitHessian ( const HessianType )
inlineinherited

◆ setInitJet()

template<class MatrixT >
void capd::diffAlgebra::CurveInterface< MatrixT >::setInitJet ( const JetType )
inlineinherited

◆ setInitMatrix()

template<class MatrixT >
void capd::diffAlgebra::CurveInterface< MatrixT >::setInitMatrix ( const MatrixType )
inlineinherited

Member Data Documentation

◆ m_allocatedOrder

template<class MatrixT >
size_type capd::diffAlgebra::BasicCurve< MatrixT >::m_allocatedOrder
protected

◆ m_coefficients

template<class MatrixT >
VectorType* capd::diffAlgebra::BasicCurve< MatrixT >::m_coefficients
protected

◆ m_coefficientsAtCenter

template<class MatrixT >
VectorType* capd::diffAlgebra::BasicCurve< MatrixT >::m_coefficientsAtCenter
protected

◆ m_dimension

template<class MatrixT >
size_type capd::diffAlgebra::BasicCurve< MatrixT >::m_dimension
protected

◆ m_matrixCoefficients

template<class MatrixT >
MatrixType* capd::diffAlgebra::BasicCurve< MatrixT >::m_matrixCoefficients
protected

◆ m_matrixRemainderCoefficients

template<class MatrixT >
MatrixType* capd::diffAlgebra::BasicCurve< MatrixT >::m_matrixRemainderCoefficients
protected

◆ m_order

template<class MatrixT >
size_type capd::diffAlgebra::BasicCurve< MatrixT >::m_order
protected

◆ m_remainderCoefficients

template<class MatrixT >
VectorType* capd::diffAlgebra::BasicCurve< MatrixT >::m_remainderCoefficients
protected