CAPD DynSys Library
5.2.0
|
The class is used to store coefficients of a truncated power series to degree D Coefficients area assumed to be of a numeric type. More...
#include <capd/diffAlgebra/Jet.h>
Classes | |
struct | rebind |
Public Types | |
typedef MatrixT | MatrixType |
typedef MatrixType::ScalarType | ScalarType |
typedef MatrixType::RefColumnVectorType | RefVectorType |
typedef MatrixType::RowVectorType | VectorType |
typedef MatrixType::ColumnVectorType | ImageVectorType |
typedef capd::diffAlgebra::Hessian< ScalarType, ImageVectorType::csDim, VectorType::csDim > | HessianType |
typedef ScalarType * | iterator |
typedef CnContainer< ScalarType, ImageVectorType::csDim, VectorType::csDim, DEGREE > | CnContainerType |
typedef CnContainerType::BaseContainer | ContainerType |
typedef CnContainerType::Multipointer | Multipointer |
typedef CnContainerType::Multiindex | Multiindex |
typedef __size_type | size_type |
typedef __difference_type | difference_type |
typedef capd::vectalg::Container< MatrixT::ScalarType, M *N *D!=0 ? M *Binomial< N+D, D >::value :0 > | BaseContainer |
typedef MatrixT::ScalarType | ObjectType |
typedef std::reverse_iterator< iterator > | reverse_iterator |
typedef std::reverse_iterator< const_iterator > | const_reverse_iterator |
Public Member Functions | |
Jet () | |
Jet (size_type n, size_type d) | |
Jet (size_type m, size_type n, size_type d) | |
Jet (const Jet &v)=default | |
Jet (Jet &&v) | |
Jet & | operator= (const Jet &)=default |
Jet & | operator= (Jet &&v) |
RefVectorType | operator() (const Multipointer &mp) const |
this operator returns a vector of partial derivatives, i.e. result[i] = d^{mp}f_i More... | |
RefVectorType | operator() (const Multiindex &mp) const |
this operator returns a vector of partial derivatives, i.e. result[i] = d^{mp}f_i More... | |
operator ImageVectorType () const | |
this operator returns a value of function, i.e. 0-order derivatives More... | |
RefVectorType | operator() (void) const |
this operator returns value of function as a reference More... | |
operator MatrixType () const | |
this operator returns first order derivatives as a matrix More... | |
void | setMatrix (const MatrixType &) |
operator HessianType () const | |
this operator returns second order derivatives as a hessian object More... | |
ImageVectorType | operator() (const VectorType &) const |
MatrixType | derivative (const VectorType &v) const |
ImageVectorType | operator() (const VectorType &v, MatrixType &matrix) const |
std::string | toString (int minFun=0, int maxFun=-1, int firstVariable=0, int minDegree=0, int maxDegree=-1, int precision=-1) const |
returns string containing derivatives information More... | |
std::ostream & | save (std::ostream &out, std::streamsize prec=capd::TypeTraits< ScalarType >::numberOfDigits()+1) const |
saves data to stream out with given precision (the default precision allows to load data without lose of precision) More... | |
std::istream & | load (std::istream &in) |
loads cn data from given stream (expected format is exactly this provided by save) More... | |
iterator | begin (size_type i) |
iterator selection. Returns iterator to the first coefficient of the i-th component More... | |
iterator | begin (size_type i, size_type d) |
iterator selection. Returns iterator to the first coefficient of the i-th component of the homogeneous part of degree 'd' More... | |
const_iterator | begin (size_type i) const |
iterator selection. Returns iterator to the first coefficient of the i-th component More... | |
const_iterator | begin (size_type i, size_type d) const |
iterator selection. Returns iterator to the first coefficient of the i-th component of the homogeneous part of degree 'd' More... | |
iterator | end (size_type i) |
iterator selection. Returns iterator to an element after the last element the i-th component More... | |
iterator | end (size_type i, size_type d) |
iterator selection. Returns iterator to an element after the last coefficient of the i-th component of the homogeneous part of degree 'd' More... | |
const_iterator | end (size_type i) const |
iterator selection. Returns iterator to an element after the last element the i-th component More... | |
const_iterator | end (size_type i, size_type d) const |
iterator selection. Returns iterator to an element after the last coefficient of the i-th component of the homogeneous part of degree 'd' More... | |
size_type | dimension () const |
returns number of variables of the polynomial More... | |
size_type | degree () const |
returns degree of the polynomial More... | |
size_type | imageDimension () const |
returns number of polynomials (dimension of counterdomain) More... | |
MatrixT::ScalarType & | operator() (size_type i, const Multipointer &mp) |
selection of coefficient of i-th component that correspond to multipointer mp More... | |
MatrixT::ScalarType & | operator() (size_type i, const Multipointer &, const Multipointer &) |
MatrixT::ScalarType & | operator() (size_type i, const Multiindex &mi) |
selection of coefficient of i-th component that correspond to multiindex mi More... | |
const MatrixT::ScalarType & | operator() (size_type i, const Multipointer &) const |
selection of coefficient of i-th component that correspond to multipointer mp More... | |
const MatrixT::ScalarType & | operator() (size_type i, const Multipointer &, const Multipointer &) const |
const MatrixT::ScalarType & | operator() (size_type i, const Multiindex &) const |
selection of coefficient of i-th component that correspond to multiindex mi More... | |
MatrixT::ScalarType & | operator() (size_type i) |
returns constant term of the i-th component of polynomial More... | |
MatrixT::ScalarType & | operator() (size_type i, size_type j) |
returns reference to a coefficient in linear part, i.e. More... | |
MatrixT::ScalarType & | operator() (size_type i, size_type j, size_type c) |
returns reference to a coefficient in second order part, i.e. More... | |
MatrixT::ScalarType & | operator() (size_type i, size_type j, size_type c, size_type k) |
returns reference to a coefficient in third order part, i.e. More... | |
const MatrixT::ScalarType & | operator() (size_type i) const |
returns constant term of the i-th component of polynomial More... | |
const MatrixT::ScalarType & | operator() (size_type i, size_type j) const |
returns read only reference to a coefficient in linear part, i.e. More... | |
const MatrixT::ScalarType & | operator() (size_type i, size_type j, size_type c) const |
returns read only reference to a coefficient in second order part, i.e. More... | |
const MatrixT::ScalarType & | operator() (size_type i, size_type j, size_type c, size_type k) const |
returns read only reference to a coefficient in third order part, i.e. More... | |
ScalarType & | operator() (size_type) |
const ScalarType & | operator() (size_type) const |
iterator | begin (size_type i) |
iterator selection. Returns iterator to the first coefficient of the i-th component More... | |
iterator | begin (size_type i, size_type d) |
iterator selection. Returns iterator to the first coefficient of the i-th component of the homogeneous part of degree 'd' More... | |
const_iterator | begin (size_type i) const |
iterator selection. Returns iterator to the first coefficient of the i-th component More... | |
const_iterator | begin (size_type i, size_type d) const |
iterator selection. Returns iterator to the first coefficient of the i-th component of the homogeneous part of degree 'd' More... | |
iterator | end (size_type i) |
iterator selection. Returns iterator to an element after the last element the i-th component More... | |
iterator | end (size_type i, size_type d) |
iterator selection. Returns iterator to an element after the last coefficient of the i-th component of the homogeneous part of degree 'd' More... | |
const_iterator | end (size_type i) const |
iterator selection. Returns iterator to an element after the last element the i-th component More... | |
const_iterator | end (size_type i, size_type d) const |
iterator selection. Returns iterator to an element after the last coefficient of the i-th component of the homogeneous part of degree 'd' More... | |
Multipointer | first (size_type d) const |
Selection of elements by multipointers. More... | |
bool | hasNext (Multipointer &) const |
see description of the method first. More... | |
bool | hasNext (Multiindex &) const |
see description of the method first. More... | |
reverse_iterator | rbegin () |
const_reverse_iterator | rbegin () const |
reverse_iterator | rend () |
const_reverse_iterator | rend () const |
void | resize (size_type newCapacity) |
ScalarType & | operator[] (size_type) |
const ScalarType & | operator[] (size_type) const |
void | clear () |
Static Public Member Functions | |
static size_type | size () |
Public Attributes | |
const typedef ScalarType * | const_iterator |
size_type | m_N |
number of variables More... | |
size_type | m_M |
number of components More... | |
Protected Attributes | |
size_type | m_D |
total degree of polynomial More... | |
ScalarType | data [capacity] |
Friends | |
std::ostream & | operator<< (std::ostream &out, const Jet &jet) |
std::istream & | operator>> (std::istream &in, Jet &jet) |
The class is used to store coefficients of a truncated power series to degree D Coefficients area assumed to be of a numeric type.
The base CnContainer is used to manage memory allocations, copying, etc.
|
inherited |
typedef CnContainer<ScalarType,ImageVectorType::csDim,VectorType::csDim,DEGREE> capd::diffAlgebra::Jet< MatrixT, DEGREE >::CnContainerType |
|
inherited |
typedef CnContainerType::BaseContainer capd::diffAlgebra::Jet< MatrixT, DEGREE >::ContainerType |
typedef __difference_type capd::diffAlgebra::Jet< MatrixT, DEGREE >::difference_type |
typedef capd::diffAlgebra::Hessian<ScalarType,ImageVectorType::csDim,VectorType::csDim> capd::diffAlgebra::Jet< MatrixT, DEGREE >::HessianType |
typedef MatrixType::ColumnVectorType capd::diffAlgebra::Jet< MatrixT, DEGREE >::ImageVectorType |
typedef ScalarType* capd::diffAlgebra::Jet< MatrixT, DEGREE >::iterator |
typedef MatrixT capd::diffAlgebra::Jet< MatrixT, DEGREE >::MatrixType |
typedef CnContainerType::Multiindex capd::diffAlgebra::Jet< MatrixT, DEGREE >::Multiindex |
typedef CnContainerType::Multipointer capd::diffAlgebra::Jet< MatrixT, DEGREE >::Multipointer |
|
inherited |
typedef MatrixType::RefColumnVectorType capd::diffAlgebra::Jet< MatrixT, DEGREE >::RefVectorType |
|
inherited |
typedef MatrixType::ScalarType capd::diffAlgebra::Jet< MatrixT, DEGREE >::ScalarType |
typedef __size_type capd::diffAlgebra::Jet< MatrixT, DEGREE >::size_type |
typedef MatrixType::RowVectorType capd::diffAlgebra::Jet< MatrixT, DEGREE >::VectorType |
|
default |
|
inline |
|
inlineinherited |
iterator selection. Returns iterator to the first coefficient of the i-th component
|
inline |
iterator selection. Returns iterator to the first coefficient of the i-th component
|
inlineinherited |
iterator selection. Returns iterator to the first coefficient of the i-th component
|
inline |
iterator selection. Returns iterator to the first coefficient of the i-th component
|
inlineinherited |
iterator selection. Returns iterator to the first coefficient of the i-th component of the homogeneous part of degree 'd'
|
inline |
iterator selection. Returns iterator to the first coefficient of the i-th component of the homogeneous part of degree 'd'
|
inlineinherited |
iterator selection. Returns iterator to the first coefficient of the i-th component of the homogeneous part of degree 'd'
|
inline |
iterator selection. Returns iterator to the first coefficient of the i-th component of the homogeneous part of degree 'd'
|
inherited |
|
inline |
returns degree of the polynomial
Jet< MatrixT, DEGREE >::MatrixType capd::diffAlgebra::Jet< MatrixT, DEGREE >::derivative | ( | const VectorType & | v | ) | const |
|
inline |
returns number of variables of the polynomial
|
inlineinherited |
iterator selection. Returns iterator to an element after the last element the i-th component
|
inline |
iterator selection. Returns iterator to an element after the last element the i-th component
|
inlineinherited |
iterator selection. Returns iterator to an element after the last element the i-th component
|
inline |
iterator selection. Returns iterator to an element after the last element the i-th component
|
inlineinherited |
iterator selection. Returns iterator to an element after the last coefficient of the i-th component of the homogeneous part of degree 'd'
|
inline |
iterator selection. Returns iterator to an element after the last coefficient of the i-th component of the homogeneous part of degree 'd'
|
inlineinherited |
iterator selection. Returns iterator to an element after the last coefficient of the i-th component of the homogeneous part of degree 'd'
|
inline |
iterator selection. Returns iterator to an element after the last coefficient of the i-th component of the homogeneous part of degree 'd'
|
inlineinherited |
Selection of elements by multipointers.
Resizes CnContainer.
Iterators do not give information about the index of partial derivative. Access by multipointer is significantly slower than by iterator because the multipointer must be recomputed to the index in array.
Typical usage of multipointers is as follows: Multipointer mp = cnContainer.first(d); int i = ...; // fix i-th component do{ // do something cout << mp << "\t" << cnContainer(i,mp) << endl; }while(cnContainer.hasNext(mp));
Iterators and multipointers read coefficients of a homogeneous polynomial in the same order.
newRank | new maximal order |
newDimension | new dimension |
copyData | flag that controls if data is copied |
|
inherited |
see description of the method first.
|
inherited |
see description of the method first.
|
inlineinherited |
returns number of polynomials (dimension of counterdomain)
std::istream & capd::diffAlgebra::Jet< MatrixT, DEGREE >::load | ( | std::istream & | in | ) |
loads cn data from given stream (expected format is exactly this provided by save)
capd::diffAlgebra::Jet< MatrixT, DEGREE >::operator HessianType | ( | ) | const |
this operator returns second order derivatives as a hessian object
capd::diffAlgebra::Jet< MatrixT, DEGREE >::operator ImageVectorType | ( | ) | const |
this operator returns a value of function, i.e. 0-order derivatives
capd::diffAlgebra::Jet< MatrixT, DEGREE >::operator MatrixType | ( | ) | const |
this operator returns first order derivatives as a matrix
Jet< MatrixT, DEGREE >::ImageVectorType capd::diffAlgebra::Jet< MatrixT, DEGREE >::operator() | ( | const VectorType & | v | ) | const |
Jet< MatrixT, DEGREE >::ImageVectorType capd::diffAlgebra::Jet< MatrixT, DEGREE >::operator() | ( | const VectorType & | v, |
MatrixType & | matrix | ||
) | const |
|
inlineinherited |
returns constant term of the i-th component of polynomial
|
inlineinherited |
returns constant term of the i-th component of polynomial
|
inlineinherited |
selection of coefficient of i-th component that correspond to multiindex mi
|
inlineinherited |
selection of coefficient of i-th component that correspond to multiindex mi
|
inlineinherited |
selection of coefficient of i-th component that correspond to multipointer mp
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
selection of coefficient of i-th component that correspond to multipointer mp
|
inlineinherited |
returns reference to a coefficient in linear part, i.e.
|
inlineinherited |
returns read only reference to a coefficient in linear part, i.e.
|
inlineinherited |
returns reference to a coefficient in second order part, i.e.
|
inlineinherited |
returns read only reference to a coefficient in second order part, i.e.
|
inlineinherited |
returns reference to a coefficient in third order part, i.e.
|
inlineinherited |
returns read only reference to a coefficient in third order part, i.e.
|
inlineinherited |
|
inlineinherited |
|
default |
|
inline |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inherited |
|
inlineinherited |
|
inherited |
|
inherited |
std::ostream & capd::diffAlgebra::Jet< MatrixT, DEGREE >::save | ( | std::ostream & | out, |
std::streamsize | prec = capd::TypeTraits<ScalarType>::numberOfDigits() + 1 |
||
) | const |
saves data to stream out with given precision (the default precision allows to load data without lose of precision)
saves data to stream out with given precision
Format:
void capd::diffAlgebra::Jet< MatrixT, DEGREE >::setMatrix | ( | const MatrixType & | m | ) |
|
inlinestaticinherited |
std::string capd::diffAlgebra::Jet< MatrixT, DEGREE >::toString | ( | int | firstFun = 0 , |
int | lastFun = -1 , |
||
int | firstVariable = 0 , |
||
int | minDegree = 0 , |
||
int | maxDegree = -1 , |
||
int | precision = -1 |
||
) | const |
returns string containing derivatives information
Return derivative information in human readable form.
You can specify which derivatives you want, It will return all derivatives where i = firstFun,..., lastFun |a| = minDegree, ..., maxDegree
firstFun | index of the first function |
lastFun | index of the last function |
minDegree | minimal degree displayed |
maxDegree | maximal degree displayed |
|
friend |
|
friend |
const typedef ScalarType* capd::diffAlgebra::Jet< MatrixT, DEGREE >::const_iterator |
|
protectedinherited |
|
protectedinherited |
total degree of polynomial
size_type capd::diffAlgebra::CnContainer< Object, M, N, D >::m_M |
number of components
size_type capd::diffAlgebra::CnContainer< Object, M, N, D >::m_N |
number of variables