CAPD::DynSys Library  6.0.0
capd::diffAlgebra::BasicC2Curve< MatrixT > Class Template Reference

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

#include <capd/diffAlgebra/BasicC2Curve.h>

Public Types

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

Public Member Functions

 BasicC2Curve (size_type dimension, size_type order, size_type degree)
 
 BasicC2Curve (const BasicC2Curve &c)
 
 ~BasicC2Curve ()
 
BasicC2Curve & operator= (const BasicC2Curve &c)
 
virtual void setOrder (size_type order)
 Sets the order of Taylor interpolation. More...
 
void clearCoefficients ()
 
ScalarType & coefficient (size_type i, size_type j, size_type c, size_type k)
 
ScalarType & remainderCoefficient (size_type i, size_type j, size_type c, size_type k)
 
const ScalarType & coefficient (size_type i, size_type j, size_type c, size_type k) const
 
const ScalarType & remainderCoefficient (size_type i, size_type j, size_type c, size_type k) const
 
HessianType * getHessianCoefficients ()
 
HessianType * getHessianRemainderCoefficients ()
 
const HessianType * getHessianCoefficients () const
 
const HessianType * getHessianRemainderCoefficients () const
 
HessianType & getHessianCoefficients (size_type p)
 
HessianType & getHessianRemainderCoefficients (size_type p)
 
const HessianType & getHessianCoefficients (size_type p) const
 
const HessianType & getHessianRemainderCoefficients (size_type p) const
 
iterator beginHessianCoefficients (size_type j)
 
iterator beginHessianRemainderCoefficients (size_type j)
 
iterator endHessianCoefficients (size_type j)
 
iterator endHessianRemainderCoefficients (size_type j)
 
const_iterator beginHessianCoefficients (size_type j) const
 
const_iterator beginHessianRemainderCoefficients (size_type j) const
 
const_iterator endHessianCoefficients (size_type j) const
 
const_iterator endHessianRemainderCoefficients (size_type j) const
 
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...
 
const ScalarType & centerCoefficient (size_type i, size_type j) const
 
ScalarType & centerCoefficient (size_type i, size_type j)
 
const ScalarType & coefficient (size_type i, size_type j) const
 
const ScalarType & coefficient (size_type i, size_type j, size_type k) const
 
ScalarType & coefficient (size_type i, size_type j)
 
ScalarType & coefficient (size_type i, size_type j, size_type k)
 
const ScalarType & remainderCoefficient (size_type i, size_type j) const
 
const ScalarType & remainderCoefficient (size_type i, size_type j, size_type k) const
 
ScalarType & remainderCoefficient (size_type i, size_type j)
 
ScalarType & remainderCoefficient (size_type i, size_type j, size_type k)
 
const VectorType * getCoefficientsAtCenter () const
 
VectorType * getCoefficientsAtCenter ()
 
const VectorType * getCoefficients () const
 
VectorType * getCoefficients ()
 
const VectorType * getRemainderCoefficients () const
 
VectorType * getRemainderCoefficients ()
 
const MatrixType * getMatrixCoefficients () const
 
MatrixType * getMatrixCoefficients ()
 
const MatrixType * getMatrixRemainderCoefficients () const
 
MatrixType * getMatrixRemainderCoefficients ()
 
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...
 
const ScalarType & centerCoefficient (size_type i, size_type j) const
 
ScalarType & centerCoefficient (size_type i, size_type j)
 
const ScalarType & coefficient (size_type i, size_type j) const
 
const ScalarType & coefficient (size_type i, size_type j, size_type k) const
 
ScalarType & coefficient (size_type i, size_type j)
 
ScalarType & coefficient (size_type i, size_type j, size_type k)
 
const ScalarType & remainderCoefficient (size_type i, size_type j) const
 
const ScalarType & remainderCoefficient (size_type i, size_type j, size_type k) const
 
ScalarType & remainderCoefficient (size_type i, size_type j)
 
ScalarType & remainderCoefficient (size_type i, size_type j, size_type k)
 
const VectorType * getCoefficientsAtCenter () const
 
const VectorType * getCoefficients () const
 
const VectorType * getRemainderCoefficients () const
 
const MatrixType * getMatrixCoefficients () const
 
const MatrixType * getMatrixRemainderCoefficients () const
 
iterator beginCenterCoefficients (size_type j)
 
const_iterator beginCenterCoefficients (size_type j) const
 
iterator beginCoefficients (size_type j)
 
const_iterator beginCoefficients (size_type j) const
 
iterator beginRemainderCoefficients (size_type j)
 
const_iterator beginRemainderCoefficients (size_type j) const
 
iterator beginMatrixCoefficients (size_type j)
 
const_iterator beginMatrixCoefficients (size_type j) const
 
iterator beginMatrixRemainderCoefficients (size_type j)
 
const_iterator beginMatrixRemainderCoefficients (size_type j) const
 
iterator endCenterCoefficients (size_type j)
 
const_iterator endCenterCoefficients (size_type j) const
 
iterator endCoefficients (size_type j)
 
const_iterator endCoefficients (size_type j) const
 
iterator endRemainderCoefficients (size_type j)
 
const_iterator endRemainderCoefficients (size_type j) const
 
iterator endMatrixCoefficients (size_type j)
 
const_iterator endMatrixCoefficients (size_type j) const
 
iterator endMatrixRemainderCoefficients (size_type j)
 
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 c2Allocate ()
 
void c2Deallocate ()
 
void copyData (const BasicC2Curve &c)
 
void allocate ()
 
void deallocate ()
 
void copyData (const BasicCurve &c)
 

Protected Attributes

HessianType * m_hessianCoefficients
 
HessianType * m_hessianRemainderCoefficients
 
size_type m_order
 
size_type m_allocatedOrder
 
size_type m_dimension
 
VectorType * m_coefficientsAtCenter
 
VectorType * m_coefficients
 
VectorType * m_remainderCoefficients
 
MatrixType * m_matrixCoefficients
 
MatrixType * m_matrixRemainderCoefficients
 

Detailed Description

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

This class is a data structure for storing of a parametric curve together with first and second 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 C2Curve.

Member Typedef Documentation

◆ BaseCurve

template<class MatrixT >
typedef BasicCurve<MatrixT> capd::diffAlgebra::BasicC2Curve< MatrixT >::BaseCurve

◆ const_iterator

template<class MatrixT >
typedef HessianType::const_iterator capd::diffAlgebra::BasicC2Curve< MatrixT >::const_iterator

◆ difference_type

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

◆ HessianType

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

◆ iterator

template<class MatrixT >
typedef HessianType::iterator capd::diffAlgebra::BasicC2Curve< MatrixT >::iterator

◆ JetType

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

◆ MatrixType

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

◆ Real

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

◆ ScalarType

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

◆ size_type

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

◆ VectorType

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

Member Function Documentation

◆ beginCenterCoefficients() [1/2]

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

◆ beginCenterCoefficients() [2/2]

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

◆ beginCoefficients() [1/2]

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

◆ beginCoefficients() [2/2]

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

◆ beginHessianCoefficients() [1/2]

template<class MatrixT >
iterator capd::diffAlgebra::BasicC2Curve< MatrixT >::beginHessianCoefficients ( size_type  j)
inline

◆ beginHessianCoefficients() [2/2]

template<class MatrixT >
const_iterator capd::diffAlgebra::BasicC2Curve< MatrixT >::beginHessianCoefficients ( size_type  j) const
inline

◆ beginHessianRemainderCoefficients() [1/2]

template<class MatrixT >
iterator capd::diffAlgebra::BasicC2Curve< MatrixT >::beginHessianRemainderCoefficients ( size_type  j)
inline

◆ beginHessianRemainderCoefficients() [2/2]

template<class MatrixT >
const_iterator capd::diffAlgebra::BasicC2Curve< MatrixT >::beginHessianRemainderCoefficients ( size_type  j) const
inline

◆ beginMatrixCoefficients() [1/2]

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

◆ beginMatrixCoefficients() [2/2]

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

◆ beginMatrixRemainderCoefficients() [1/2]

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

◆ beginMatrixRemainderCoefficients() [2/2]

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

◆ beginRemainderCoefficients() [1/2]

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

◆ beginRemainderCoefficients() [2/2]

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

◆ centerCoefficient() [1/2]

template<class MatrixT >
BasicCurve< MatrixT >::ScalarType & capd::diffAlgebra::BasicCurve< MatrixT >::centerCoefficient
inline

◆ centerCoefficient() [2/2]

template<class MatrixT >
const BasicCurve< MatrixT >::ScalarType & capd::diffAlgebra::BasicCurve< MatrixT >::centerCoefficient
inline

◆ coefficient() [1/4]

template<class MatrixT >
BasicCurve< MatrixT >::ScalarType & capd::diffAlgebra::BasicCurve< MatrixT >::coefficient
inline

◆ coefficient() [2/4]

template<class MatrixT >
const BasicCurve< MatrixT >::ScalarType & capd::diffAlgebra::BasicCurve< MatrixT >::coefficient
inline

◆ coefficient() [3/4]

template<class MatrixT >
BasicCurve< MatrixT >::ScalarType & capd::diffAlgebra::BasicCurve< MatrixT >::coefficient
inline

◆ coefficient() [4/4]

template<class MatrixT >
const BasicCurve< MatrixT >::ScalarType & capd::diffAlgebra::BasicCurve< MatrixT >::coefficient
inline

◆ dimension()

template<class MatrixT >
BasicCurve< MatrixT >::size_type capd::diffAlgebra::BasicCurve< MatrixT >::dimension
inline

Returns the dimension in which the parametric curve is embedded.

◆ 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)
inlineinherited

◆ endCenterCoefficients() [2/2]

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

◆ endCoefficients() [1/2]

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

◆ endCoefficients() [2/2]

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

◆ endHessianCoefficients() [1/2]

template<class MatrixT >
iterator capd::diffAlgebra::BasicC2Curve< MatrixT >::endHessianCoefficients ( size_type  j)
inline

◆ endHessianCoefficients() [2/2]

template<class MatrixT >
const_iterator capd::diffAlgebra::BasicC2Curve< MatrixT >::endHessianCoefficients ( size_type  j) const
inline

◆ endHessianRemainderCoefficients() [1/2]

template<class MatrixT >
iterator capd::diffAlgebra::BasicC2Curve< MatrixT >::endHessianRemainderCoefficients ( size_type  j)
inline

◆ endHessianRemainderCoefficients() [2/2]

template<class MatrixT >
const_iterator capd::diffAlgebra::BasicC2Curve< MatrixT >::endHessianRemainderCoefficients ( size_type  j) const
inline

◆ endMatrixCoefficients() [1/2]

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

◆ endMatrixCoefficients() [2/2]

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

◆ endMatrixRemainderCoefficients() [1/2]

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

◆ endMatrixRemainderCoefficients() [2/2]

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

◆ endRemainderCoefficients() [1/2]

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

◆ endRemainderCoefficients() [2/2]

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

◆ getAllocatedOrder()

template<class MatrixT >
BasicCurve< MatrixT >::size_type capd::diffAlgebra::BasicCurve< MatrixT >::getAllocatedOrder
inline

Returns maximal allocated order - used to avoid memory reallocation.

◆ getCoefficients() [1/2]

template<class MatrixT >
BasicCurve< MatrixT >::VectorType * capd::diffAlgebra::BasicCurve< MatrixT >::getCoefficients
inline

◆ getCoefficients() [2/2]

template<class MatrixT >
const BasicCurve< MatrixT >::VectorType * capd::diffAlgebra::BasicCurve< MatrixT >::getCoefficients
inline

◆ getCoefficientsAtCenter() [1/2]

template<class MatrixT >
BasicCurve< MatrixT >::VectorType * capd::diffAlgebra::BasicCurve< MatrixT >::getCoefficientsAtCenter
inline

◆ getCoefficientsAtCenter() [2/2]

template<class MatrixT >
const BasicCurve< MatrixT >::VectorType * capd::diffAlgebra::BasicCurve< MatrixT >::getCoefficientsAtCenter
inline

◆ getMatrixCoefficients() [1/2]

template<class MatrixT >
MatrixT * capd::diffAlgebra::BasicCurve< MatrixT >::getMatrixCoefficients
inline

◆ getMatrixCoefficients() [2/2]

template<class MatrixT >
const MatrixT * capd::diffAlgebra::BasicCurve< MatrixT >::getMatrixCoefficients
inline

◆ getMatrixRemainderCoefficients() [1/2]

template<class MatrixT >
MatrixT * capd::diffAlgebra::BasicCurve< MatrixT >::getMatrixRemainderCoefficients
inline

◆ getMatrixRemainderCoefficients() [2/2]

template<class MatrixT >
const MatrixT * capd::diffAlgebra::BasicCurve< MatrixT >::getMatrixRemainderCoefficients
inline

◆ getOrder()

template<class MatrixT >
BasicCurve< MatrixT >::size_type capd::diffAlgebra::BasicCurve< MatrixT >::getOrder
inline

Returns the order of Taylor interpolation.

◆ getRemainderCoefficients() [1/2]

template<class MatrixT >
BasicCurve< MatrixT >::VectorType * capd::diffAlgebra::BasicCurve< MatrixT >::getRemainderCoefficients
inline

◆ getRemainderCoefficients() [2/2]

template<class MatrixT >
const BasicCurve< MatrixT >::VectorType * capd::diffAlgebra::BasicCurve< MatrixT >::getRemainderCoefficients
inline

◆ remainderCoefficient() [1/4]

template<class MatrixT >
BasicCurve< MatrixT >::ScalarType & capd::diffAlgebra::BasicCurve< MatrixT >::remainderCoefficient
inline

◆ remainderCoefficient() [2/4]

template<class MatrixT >
const BasicCurve< MatrixT >::ScalarType & capd::diffAlgebra::BasicCurve< MatrixT >::remainderCoefficient
inline

◆ remainderCoefficient() [3/4]

template<class MatrixT >
BasicCurve< MatrixT >::ScalarType & capd::diffAlgebra::BasicCurve< MatrixT >::remainderCoefficient
inline

◆ remainderCoefficient() [4/4]

template<class MatrixT >
const BasicCurve< MatrixT >::ScalarType & capd::diffAlgebra::BasicCurve< MatrixT >::remainderCoefficient
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
protectedinherited

◆ m_coefficientsAtCenter

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

◆ m_dimension

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

◆ m_hessianCoefficients

template<class MatrixT >
HessianType* capd::diffAlgebra::BasicC2Curve< MatrixT >::m_hessianCoefficients
protected

◆ m_hessianRemainderCoefficients

template<class MatrixT >
HessianType* capd::diffAlgebra::BasicC2Curve< MatrixT >::m_hessianRemainderCoefficients
protected

◆ m_matrixCoefficients

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

◆ m_matrixRemainderCoefficients

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

◆ 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
protectedinherited

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