CAPD DynSys Library 5.2.0
capd::map::CnCoeffSlice< MatrixT > Class Template Reference

#include <capd/map/CnCoeffSlice.h>

Public Types

typedef MatrixT MatrixType
 
typedef MatrixType::ScalarType ScalarType
 
typedef MatrixType::RefColumnVectorType RefVectorType
 
typedef MatrixType::RowVectorType VectorType
 
typedef CnCoeff< MatrixTypeCnCoeffType
 
typedef ScalarTypeiterator
 
typedef const ScalarTypeconst_iterator
 
typedef CnCoeffType::CnContainerType CnContainerType
 
typedef CnContainerType::Multipointer Multipointer
 
typedef CnContainerType::Multiindex Multiindex
 

Public Member Functions

 CnCoeffSlice (CnCoeffType &coeff, int functionIndex)
 construct slice only with derivatives of function of given index More...
 
int dimension () const
 dimension of domain (number of variables) More...
 
int rank () const
 return maximum order stored More...
 
int maxOrder () const
 
ScalarTypeoperator() (void)
 returns a value of function, i.e. 0-order derivatives More...
 
const ScalarTypeoperator() (void) const
 
ScalarTypeoperator[] (int index)
 direct access to the table of derivatives More...
 
const ScalarTypeoperator[] (int index) const
 direct access to the table of derivatives More...
 
ScalarTypeoperator() (const Multipointer &mp)
 returns partial derivative, i.e. d^{|mp|}f / dx^{mp} More...
 
const ScalarTypeoperator() (const Multipointer &mp) const
 returns partial derivative, i.e. d^{|mp|}f / dx^{mp} More...
 
ScalarTypeoperator() (int i)
 returns derivative with respect to x_i More...
 
const ScalarTypeoperator() (int i) const
 returns derivative with respect to x_i More...
 
ScalarTypeoperator() (int i, int j)
 returns second derivative with respect to x_i and x_j More...
 
const ScalarTypeoperator() (int i, int j) const
 returns second derivative with respect to x_i and x_j More...
 
iterator begin ()
 
iterator end ()
 
const_iterator begin () const
 
const_iterator end () const
 
iterator begin (int order)
 
iterator end (int order)
 
const_iterator begin (int order) const
 
const_iterator end (int order) const
 
Multipointer first (int order) const
 returns multipointer of first derivative of given order More...
 
bool next (Multipointer &mp) const
 returns true and multipointer of the next derivative of the current order or false if we are already on the last derivative. More...
 
void clear ()
 sets all coefficients to zero More...
 
ScalarType operator() (const VectorType &x) const
 CnCoeffSlice represents (up to factorials) a power series of a function f: R^n -> R to a given order. it return evaluation of this power series on vector x. More...
 
std::string toString (int firstVariable=0, int minRank=0, int maxRank=-1) const
 returns string containing derivatives information in human readable form More...
 
void isSumOf (const CnCoeffSlice &x, const CnCoeffSlice &y)
 
void isDiferenceOf (const CnCoeffSlice &x, const CnCoeffSlice &y)
 
void isProductOf (const CnCoeffSlice &x, const CnCoeffSlice &y)
 
CnCoeffSliceoperator/= (const ScalarType &divisor)
 

Protected Attributes

CnCoeffTypem_coeff
 
int m_index
 

Member Typedef Documentation

◆ CnCoeffType

template<typename MatrixT >
typedef CnCoeff<MatrixType> capd::map::CnCoeffSlice< MatrixT >::CnCoeffType

◆ CnContainerType

template<typename MatrixT >
typedef CnCoeffType::CnContainerType capd::map::CnCoeffSlice< MatrixT >::CnContainerType

◆ const_iterator

template<typename MatrixT >
typedef const ScalarType* capd::map::CnCoeffSlice< MatrixT >::const_iterator

◆ iterator

template<typename MatrixT >
typedef ScalarType* capd::map::CnCoeffSlice< MatrixT >::iterator

◆ MatrixType

template<typename MatrixT >
typedef MatrixT capd::map::CnCoeffSlice< MatrixT >::MatrixType

◆ Multiindex

template<typename MatrixT >
typedef CnContainerType::Multiindex capd::map::CnCoeffSlice< MatrixT >::Multiindex

◆ Multipointer

template<typename MatrixT >
typedef CnContainerType::Multipointer capd::map::CnCoeffSlice< MatrixT >::Multipointer

◆ RefVectorType

template<typename MatrixT >
typedef MatrixType::RefColumnVectorType capd::map::CnCoeffSlice< MatrixT >::RefVectorType

◆ ScalarType

template<typename MatrixT >
typedef MatrixType::ScalarType capd::map::CnCoeffSlice< MatrixT >::ScalarType

◆ VectorType

template<typename MatrixT >
typedef MatrixType::RowVectorType capd::map::CnCoeffSlice< MatrixT >::VectorType

Constructor & Destructor Documentation

◆ CnCoeffSlice()

template<typename MatrixT >
capd::map::CnCoeffSlice< MatrixT >::CnCoeffSlice ( CnCoeffType coeff,
int  functionIndex 
)
inline

construct slice only with derivatives of function of given index

Remarks
we do not copy data but refer to the original container

Member Function Documentation

◆ begin() [1/4]

template<typename MatrixT >
iterator capd::map::CnCoeffSlice< MatrixT >::begin ( )
inline

◆ begin() [2/4]

template<typename MatrixT >
const_iterator capd::map::CnCoeffSlice< MatrixT >::begin ( ) const
inline

◆ begin() [3/4]

template<typename MatrixT >
iterator capd::map::CnCoeffSlice< MatrixT >::begin ( int  order)
inline

◆ begin() [4/4]

template<typename MatrixT >
const_iterator capd::map::CnCoeffSlice< MatrixT >::begin ( int  order) const
inline

◆ clear()

template<typename MatrixT >
void capd::map::CnCoeffSlice< MatrixT >::clear ( )
inline

sets all coefficients to zero

◆ dimension()

template<typename MatrixT >
int capd::map::CnCoeffSlice< MatrixT >::dimension ( ) const
inline

dimension of domain (number of variables)

◆ end() [1/4]

template<typename MatrixT >
iterator capd::map::CnCoeffSlice< MatrixT >::end ( )
inline

◆ end() [2/4]

template<typename MatrixT >
const_iterator capd::map::CnCoeffSlice< MatrixT >::end ( ) const
inline

◆ end() [3/4]

template<typename MatrixT >
iterator capd::map::CnCoeffSlice< MatrixT >::end ( int  order)
inline

◆ end() [4/4]

template<typename MatrixT >
const_iterator capd::map::CnCoeffSlice< MatrixT >::end ( int  order) const
inline

◆ first()

template<typename MatrixT >
Multipointer capd::map::CnCoeffSlice< MatrixT >::first ( int  order) const
inline

returns multipointer of first derivative of given order

◆ isDiferenceOf()

template<typename MatrixT >
void capd::map::CnCoeffSlice< MatrixT >::isDiferenceOf ( const CnCoeffSlice< MatrixT > &  x,
const CnCoeffSlice< MatrixT > &  y 
)
inline

◆ isProductOf()

template<typename MatrixT >
void capd::map::CnCoeffSlice< MatrixT >::isProductOf ( const CnCoeffSlice< MatrixT > &  x,
const CnCoeffSlice< MatrixT > &  y 
)
inline

◆ isSumOf()

template<typename MatrixT >
void capd::map::CnCoeffSlice< MatrixT >::isSumOf ( const CnCoeffSlice< MatrixT > &  x,
const CnCoeffSlice< MatrixT > &  y 
)
inline

◆ maxOrder()

template<typename MatrixT >
int capd::map::CnCoeffSlice< MatrixT >::maxOrder ( ) const
inline

◆ next()

template<typename MatrixT >
bool capd::map::CnCoeffSlice< MatrixT >::next ( Multipointer mp) const
inline

returns true and multipointer of the next derivative of the current order or false if we are already on the last derivative.

◆ operator()() [1/9]

template<typename MatrixT >
ScalarType & capd::map::CnCoeffSlice< MatrixT >::operator() ( const Multipointer mp)
inline

returns partial derivative, i.e. d^{|mp|}f / dx^{mp}

◆ operator()() [2/9]

template<typename MatrixT >
const ScalarType & capd::map::CnCoeffSlice< MatrixT >::operator() ( const Multipointer mp) const
inline

returns partial derivative, i.e. d^{|mp|}f / dx^{mp}

◆ operator()() [3/9]

template<typename MatrixT >
ScalarType capd::map::CnCoeffSlice< MatrixT >::operator() ( const VectorType x) const
inline

CnCoeffSlice represents (up to factorials) a power series of a function f: R^n -> R to a given order. it return evaluation of this power series on vector x.

◆ operator()() [4/9]

template<typename MatrixT >
ScalarType & capd::map::CnCoeffSlice< MatrixT >::operator() ( int  i)
inline

returns derivative with respect to x_i

◆ operator()() [5/9]

template<typename MatrixT >
const ScalarType & capd::map::CnCoeffSlice< MatrixT >::operator() ( int  i) const
inline

returns derivative with respect to x_i

◆ operator()() [6/9]

template<typename MatrixT >
ScalarType & capd::map::CnCoeffSlice< MatrixT >::operator() ( int  i,
int  j 
)
inline

returns second derivative with respect to x_i and x_j

◆ operator()() [7/9]

template<typename MatrixT >
const ScalarType & capd::map::CnCoeffSlice< MatrixT >::operator() ( int  i,
int  j 
) const
inline

returns second derivative with respect to x_i and x_j

◆ operator()() [8/9]

template<typename MatrixT >
ScalarType & capd::map::CnCoeffSlice< MatrixT >::operator() ( void  )

returns a value of function, i.e. 0-order derivatives

◆ operator()() [9/9]

template<typename MatrixT >
const ScalarType & capd::map::CnCoeffSlice< MatrixT >::operator() ( void  ) const

◆ operator/=()

template<typename MatrixT >
CnCoeffSlice & capd::map::CnCoeffSlice< MatrixT >::operator/= ( const ScalarType divisor)
inline

◆ operator[]() [1/2]

template<typename MatrixT >
ScalarType & capd::map::CnCoeffSlice< MatrixT >::operator[] ( int  index)
inline

direct access to the table of derivatives

◆ operator[]() [2/2]

template<typename MatrixT >
const ScalarType & capd::map::CnCoeffSlice< MatrixT >::operator[] ( int  index) const
inline

direct access to the table of derivatives

◆ rank()

template<typename MatrixT >
int capd::map::CnCoeffSlice< MatrixT >::rank ( ) const
inline

return maximum order stored

◆ toString()

template<typename MatrixT >
std::string capd::map::CnCoeffSlice< MatrixT >::toString ( int  firstVariable = 0,
int  minRank = 0,
int  maxRank = -1 
) const
inline

returns string containing derivatives information in human readable form

Parameters
firstVariabledisplay derivatives with respect to variables starting with firstVariable index
minOrderminimum order of displayed derivatives
maxOrdermaximum order of displayed derivatives
Returns
string that contains derivatives of orders in [minOrder, maxOrder]

Member Data Documentation

◆ m_coeff

template<typename MatrixT >
CnCoeffType* capd::map::CnCoeffSlice< MatrixT >::m_coeff
protected

◆ m_index

template<typename MatrixT >
int capd::map::CnCoeffSlice< MatrixT >::m_index
protected