CAPD DynSys Library 5.2.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 ()
 
BasicC2Curveoperator= (const BasicC2Curve &c)
 
virtual void setOrder (size_type order)
 Sets the order of Taylor interpolation. More...
 
void clearCoefficients ()
 
ScalarTypecoefficient (size_type i, size_type j, size_type c, size_type k)
 
ScalarTyperemainderCoefficient (size_type i, size_type j, size_type c, size_type k)
 
const ScalarTypecoefficient (size_type i, size_type j, size_type c, size_type k) const
 
const ScalarTyperemainderCoefficient (size_type i, size_type j, size_type c, size_type k) const
 
HessianTypegetHessianCoefficients ()
 
HessianTypegetHessianRemainderCoefficients ()
 
const HessianTypegetHessianCoefficients () const
 
const HessianTypegetHessianRemainderCoefficients () const
 
HessianTypegetHessianCoefficients (size_type p)
 
HessianTypegetHessianRemainderCoefficients (size_type p)
 
const HessianTypegetHessianCoefficients (size_type p) const
 
const HessianTypegetHessianRemainderCoefficients (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 ScalarTypecenterCoefficient (size_type i, size_type j) const
 
ScalarTypecenterCoefficient (size_type i, size_type j)
 
const ScalarTypecoefficient (size_type i, size_type j) const
 
const ScalarTypecoefficient (size_type i, size_type j, size_type k) const
 
ScalarTypecoefficient (size_type i, size_type j)
 
ScalarTypecoefficient (size_type i, size_type j, size_type k)
 
const ScalarTyperemainderCoefficient (size_type i, size_type j) const
 
const ScalarTyperemainderCoefficient (size_type i, size_type j, size_type k) const
 
ScalarTyperemainderCoefficient (size_type i, size_type j)
 
ScalarTyperemainderCoefficient (size_type i, size_type j, size_type k)
 
const VectorTypegetCoefficientsAtCenter () const
 
VectorTypegetCoefficientsAtCenter ()
 
const VectorTypegetCoefficients () const
 
VectorTypegetCoefficients ()
 
const VectorTypegetRemainderCoefficients () const
 
VectorTypegetRemainderCoefficients ()
 
const MatrixTypegetMatrixCoefficients () const
 
MatrixTypegetMatrixCoefficients ()
 
const MatrixTypegetMatrixRemainderCoefficients () const
 
MatrixTypegetMatrixRemainderCoefficients ()
 
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

HessianTypem_hessianCoefficients
 
HessianTypem_hessianRemainderCoefficients
 
size_type m_order
 
size_type m_allocatedOrder
 
size_type m_dimension
 
VectorTypem_coefficientsAtCenter
 
VectorTypem_coefficients
 
VectorTypem_remainderCoefficients
 
MatrixTypem_matrixCoefficients
 
MatrixTypem_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 ( size_type  i,
size_type  j 
)
inline

◆ centerCoefficient() [2/2]

template<class MatrixT >
const BasicCurve< MatrixT >::ScalarType & capd::diffAlgebra::BasicCurve< MatrixT >::centerCoefficient ( size_type  i,
size_type  j 
) const
inline

◆ coefficient() [1/4]

template<class MatrixT >
BasicCurve< MatrixT >::ScalarType & capd::diffAlgebra::BasicCurve< MatrixT >::coefficient ( size_type  i,
size_type  j 
)
inline

◆ coefficient() [2/4]

template<class MatrixT >
const BasicCurve< MatrixT >::ScalarType & capd::diffAlgebra::BasicCurve< MatrixT >::coefficient ( size_type  i,
size_type  j 
) const
inline

◆ coefficient() [3/4]

template<class MatrixT >
BasicCurve< MatrixT >::ScalarType & capd::diffAlgebra::BasicCurve< MatrixT >::coefficient ( size_type  i,
size_type  j,
size_type  k 
)
inline

◆ coefficient() [4/4]

template<class MatrixT >
const BasicCurve< MatrixT >::ScalarType & capd::diffAlgebra::BasicCurve< MatrixT >::coefficient ( size_type  i,
size_type  j,
size_type  k 
) const
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 ( size_type  i,
size_type  j 
)
inline

◆ remainderCoefficient() [2/4]

template<class MatrixT >
const BasicCurve< MatrixT >::ScalarType & capd::diffAlgebra::BasicCurve< MatrixT >::remainderCoefficient ( size_type  i,
size_type  j 
) const
inline

◆ remainderCoefficient() [3/4]

template<class MatrixT >
BasicCurve< MatrixT >::ScalarType & capd::diffAlgebra::BasicCurve< MatrixT >::remainderCoefficient ( size_type  i,
size_type  j,
size_type  k 
)
inline

◆ remainderCoefficient() [4/4]

template<class MatrixT >
const BasicCurve< MatrixT >::ScalarType & capd::diffAlgebra::BasicCurve< MatrixT >::remainderCoefficient ( size_type  i,
size_type  j,
size_type  k 
) 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
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