CAPD::DynSys Library  6.0.0
Dynset

Module dynset provides various set representations along with algorithms to propagate them using discrete or continuous dynamical systems. More...

Classes

class  capd::dynset::AbstractSet< VectorT >
 
class  capd::dynset::AffineCoordinateChange< MatrixT >
 Affine Coordinate system Change y = y0 + B*(x-x0) More...
 
class  capd::dynset::C0AffineSet< MatrixT, Policies >
 The set is represented as: x + B*r; and is moved by the following method. More...
 
class  capd::dynset::C0BallSet< MatrixT >
 the set is represented as: x + Ball(r). More...
 
class  capd::dynset::C0DoubletonSet< MatrixT, Policies >
 The set is represented as doubleton: x + C*r0 + B*r; and is moved by the following method. More...
 
class  capd::dynset::C0GraphicalSet< BaseSetT, OutputT >
 C0GraphicalSet is an envelope class for any class derived from C0Set. It adds a possibility of an additional Output after each 'move' of the original set. More...
 
class  capd::dynset::C0Set< MatrixT >
 Common interface of all sets that stores only C0 information (set position). More...
 
struct  capd::dynset::SetTraits< C0Set< MatrixT > >
 Specialization of Traits class. More...
 
class  capd::dynset::C0TripletonSet< MatrixT, Policies >
 Class C0TripletonSet represents a subset of R^n in the following form. More...
 
class  capd::dynset::C11Rect2< MatrixT, QRPolicy >
 $C^1$ doubleton set with reorganization moved by QR decomposition (3rd method). More...
 
class  capd::dynset::C1AffineSet< MatrixT, Policies >
 The C1 set is represented as doubleton: x + B*r;. More...
 
class  capd::dynset::C1DoubletonSet< MatrixT, Policies >
 The C1 set is represented as doubleton: x + C*r0 + B*r;. More...
 
class  capd::dynset::C1GraphicalSet< MatrixT, OutputClass >
 C1GraphicalSet is an envelope class for any class derived from C1Set. It adds a possibility of an additional Output after each 'move' of the original set. More...
 
class  capd::dynset::C1Set< MatrixT >
 Common interface of all sets that store C1 informations (set position and first derivatives) More...
 
struct  capd::dynset::SetTraits< C1Set< MatrixT > >
 
class  capd::dynset::C2DoubletonSet< MatrixT, Policies >
 C2 set in doubleton form. More...
 
class  capd::dynset::C2Set< MatrixT >
 Common interface of all sets that store C2 information (set position and first and second derivatives) More...
 
struct  capd::dynset::SetTraits< C2Set< MatrixT > >
 
class  capd::dynset::CnDoubletonSet< MatrixT, Policies, DEGREE >
 This set stores vector of derivatives with respect to a multiindex alpha as a doubleton. More...
 
class  capd::dynset::CnRect2Set< MatrixT, Policies, DEGREE >
 Set that stores all derivatives to given order in doubleton form with reorganization moved by QR decomposition method. More...
 
class  capd::dynset::CnSet< MatrixT, DEGREE >
 Common interface of all sets that store Cn information (set position and derivatives to order n) More...
 
struct  capd::dynset::SetTraits< CnSet< MatrixT, DEGREE > >
 
class  capd::dynset::CoordinateSystem< MatrixT >
 Defines coordinate system. More...
 
class  capd::dynset::IdQRPolicy
 
class  capd::dynset::DefaultPolicy
 
struct  capd::dynset::DoubletonData< MatrixT >
 This class is a data structure used in implementation of all types of Doubleton and Tripleton sets. More...
 
struct  capd::dynset::TripletonData< MatrixT >
 
struct  capd::dynset::C1DoubletonData< MatrixT >
 
class  capd::dynset::C0EnclosureHolder< VectorT >
 These classes are used as base classes for all types of C^0-C^n sets. More...
 
class  capd::dynset::C1EnclosureHolder< MatrixT >
 
class  capd::dynset::C2EnclosureHolder< MatrixT >
 
struct  capd::dynset::HOData< BaseData >
 This class is a data structure used in implementation of all types of HO sets. More...
 
class  capd::dynset::InverseQRPolicy< BasePolicy >
 
class  capd::dynset::FullQRWithPivoting< BasePolicy >
 
class  capd::dynset::PartialQRWithPivoting< N, BasePolicy >
 
class  capd::dynset::SelectiveQRWithPivoting< BasePolicy >
 Vectors are orthogonalized only if they are close to be parallel. More...
 
class  capd::dynset::CanonicalReorganization< DoubletonT, FactorPolicyT >
 During reorganization we set C and B to Identity and put everything into r0. More...
 
class  capd::dynset::CoordWiseReorganization< BasePolicy >
 In this reorganization policy column vector B_i corresponding to the biggest coordinate in r (r_i) replaces vector in C_j the 'closest' to B_i and the r_i is moved to r0. More...
 
class  capd::dynset::InvBByCFactorReorganization< BasePolicy >
 Factor based reorganization for C1 sets. More...
 
class  capd::dynset::SwapReorganization< BasePolicy >
 Reorganization is performed if r is bigger than r0 but in coordinate system of r. More...
 
struct  capd::dynset::SetTraits< SetT >
 This class provides a trait of being set of a given type, i.e. More...
 

Typedefs

typedef MatrixT capd::dynset::DoubletonData< MatrixT >::MatrixType
 
typedef MatrixType::RowVectorType capd::dynset::DoubletonData< MatrixT >::VectorType
 
typedef MatrixType::ScalarType capd::dynset::DoubletonData< MatrixT >::ScalarType
 
typedef MatrixType::size_type capd::dynset::DoubletonData< MatrixT >::size_type
 
typedef MatrixT capd::dynset::TripletonData< MatrixT >::MatrixType
 
typedef MatrixType::RowVectorType capd::dynset::TripletonData< MatrixT >::VectorType
 
typedef MatrixType::ScalarType capd::dynset::TripletonData< MatrixT >::ScalarType
 
typedef MatrixType::size_type capd::dynset::TripletonData< MatrixT >::size_type
 
typedef MatrixT capd::dynset::C1DoubletonData< MatrixT >::MatrixType
 
typedef MatrixType::RowVectorType capd::dynset::C1DoubletonData< MatrixT >::VectorType
 
typedef MatrixType::ScalarType capd::dynset::C1DoubletonData< MatrixT >::ScalarType
 
typedef MatrixType::size_type capd::dynset::C1DoubletonData< MatrixT >::size_type
 
typedef BaseData::MatrixType capd::dynset::HOData< BaseData >::MatrixType
 
typedef MatrixType::RowVectorType capd::dynset::HOData< BaseData >::VectorType
 
typedef MatrixType::ScalarType capd::dynset::HOData< BaseData >::ScalarType
 
typedef MatrixType::size_type capd::dynset::HOData< BaseData >::size_type
 

Functions

template<class DS , class V , class M >
void capd::dynset::computePsi (DS &ds, int p, int q, const typename DS::ScalarType &h, V &psi, M &Dpsi)
 This is an algorithm for computation of polynomial part of Hermite-Obreshkov interpolation Used in all HO-sets. More...
 
template<typename MatrixT , typename Policies >
C0TripletonSet< MatrixT, Policiescapd::dynset::operator* (const MatrixT &A, const C0TripletonSet< MatrixT, Policies > &s)
 
template<class VectorT , class MatrixT >
void capd::dynset::IdQRPolicy::computeBinvB (MatrixT &B, MatrixT &invB, const VectorT &) const
 
std::string capd::dynset::IdQRPolicy::toString () const
 
std::string capd::dynset::DefaultPolicy::toString () const
 
 capd::dynset::DoubletonData< MatrixT >::DoubletonData (size_type dimension)
 
 capd::dynset::TripletonData< MatrixT >::TripletonData (size_type dimension)
 
 capd::dynset::C1DoubletonData< MatrixT >::C1DoubletonData (size_type dimension)
 
 capd::dynset::HOData< BaseData >::HOData (size_type dimension)
 
void capd::dynset::HOData< BaseData >::computeC0HORemainder (size_type p, size_type q)
 
void capd::dynset::HOData< BaseData >::computeC1HORemainder (size_type p, size_type q, MatrixType &jacRem)
 
void capd::dynset::HOData< BaseData >::computeC0HOCoefficients ()
 
template<class Matrix , class Vector >
bool capd::dynset::InvBByCFactorReorganization< BasePolicy >::isReorganizationNeeded (const Matrix &invB, const Matrix &C, const Vector &r, const Vector &r0) const
 
template<class SetType >
bool capd::dynset::InvBByCFactorReorganization< BasePolicy >::isReorganizationNeeded (const SetType &result) const
 
template<class SetType >
bool capd::dynset::InvBByCFactorReorganization< BasePolicy >::reorganizeIfNeeded (SetType &result) const
 makes reorganization if needed. More...
 
template<class Matrix , class Vector >
bool capd::dynset::InvBByCFactorReorganization< BasePolicy >::reorganizeIfNeeded (Matrix &B, Matrix &invB, Vector &r, Matrix &C, Vector &r0) const
 
template<class SetType >
bool capd::dynset::InvBByCFactorReorganization< BasePolicy >::isC1ReorganizationNeeded (const SetType &result) const
 
template<class Matrix >
bool capd::dynset::InvBByCFactorReorganization< BasePolicy >::isC1ReorganizationNeeded (const Matrix &invB, const Matrix &C, const Matrix &R, const Matrix &R0) const
 
template<class Matrix >
bool capd::dynset::InvBByCFactorReorganization< BasePolicy >::reorganizeC1IfNeeded (Matrix &B, Matrix &invB, Matrix &R, Matrix &C, Matrix &R0) const
 
template<class SetType >
bool capd::dynset::InvBByCFactorReorganization< BasePolicy >::reorganizeC1IfNeeded (SetType &result) const
 makes reorganization if needed. return true if reorganization was performed More...
 
std::string capd::dynset::InvBByCFactorReorganization< BasePolicy >::name () const
 
template<class DynSysT >
void capd::dynset::CnDoubletonSet< MatrixT, Policies, DEGREE >::move (DynSysT &cndynsys, CnDoubletonSet &result) const
 
template<class DynSysT >
void capd::dynset::CnRect2Set< MatrixT, Policies, DEGREE >::move (DynSysT &cndynsys, CnRect2Set &result) const
 

Variables

VectorType capd::dynset::DoubletonData< MatrixT >::x
 
VectorType capd::dynset::DoubletonData< MatrixT >::deltaX
 
VectorType capd::dynset::DoubletonData< MatrixT >::y
 
VectorType capd::dynset::DoubletonData< MatrixT >::deltaY
 
VectorType capd::dynset::DoubletonData< MatrixT >::rem
 
VectorType capd::dynset::DoubletonData< MatrixT >::enc
 
MatrixType capd::dynset::DoubletonData< MatrixT >::jacPhi
 
MatrixType capd::dynset::DoubletonData< MatrixT >::deltaC
 
MatrixType capd::dynset::DoubletonData< MatrixT >::B
 
VectorType capd::dynset::TripletonData< MatrixT >::qr
 
MatrixType capd::dynset::TripletonData< MatrixT >::Q
 
MatrixType capd::dynset::C1DoubletonData< MatrixT >::jacRem
 
MatrixType capd::dynset::C1DoubletonData< MatrixT >::jacEnc
 
VectorType capd::dynset::HOData< BaseData >::psiPlus
 
VectorType capd::dynset::HOData< BaseData >::psiMinus
 
VectorType capd::dynset::HOData< BaseData >::pBound
 
VectorType capd::dynset::HOData< BaseData >::cBound
 
MatrixType capd::dynset::HOData< BaseData >::JPlus
 
MatrixType capd::dynset::HOData< BaseData >::JMinus
 
MatrixType capd::dynset::HOData< BaseData >::midJMinusInverse
 
MatrixType capd::dynset::HOData< BaseData >::T
 

Detailed Description

Module dynset provides various set representations along with algorithms to propagate them using discrete or continuous dynamical systems.

Read detailed description of DynSets for more details.

Typedef Documentation

◆ MatrixType [1/4]

template<class MatrixT >
typedef MatrixT capd::dynset::DoubletonData< MatrixT >::MatrixType

◆ MatrixType [2/4]

template<class MatrixT >
typedef MatrixT capd::dynset::TripletonData< MatrixT >::MatrixType

◆ MatrixType [3/4]

template<class MatrixT >
typedef MatrixT capd::dynset::C1DoubletonData< MatrixT >::MatrixType

◆ MatrixType [4/4]

template<class BaseData >
typedef BaseData::MatrixType capd::dynset::HOData< BaseData >::MatrixType

◆ ScalarType [1/4]

template<class MatrixT >
typedef MatrixType::ScalarType capd::dynset::DoubletonData< MatrixT >::ScalarType

◆ ScalarType [2/4]

template<class MatrixT >
typedef MatrixType::ScalarType capd::dynset::TripletonData< MatrixT >::ScalarType

◆ ScalarType [3/4]

template<class MatrixT >
typedef MatrixType::ScalarType capd::dynset::C1DoubletonData< MatrixT >::ScalarType

◆ ScalarType [4/4]

template<class BaseData >
typedef MatrixType::ScalarType capd::dynset::HOData< BaseData >::ScalarType

◆ size_type [1/4]

template<class MatrixT >
typedef MatrixType::size_type capd::dynset::DoubletonData< MatrixT >::size_type

◆ size_type [2/4]

template<class MatrixT >
typedef MatrixType::size_type capd::dynset::TripletonData< MatrixT >::size_type

◆ size_type [3/4]

template<class MatrixT >
typedef MatrixType::size_type capd::dynset::C1DoubletonData< MatrixT >::size_type

◆ size_type [4/4]

template<class BaseData >
typedef MatrixType::size_type capd::dynset::HOData< BaseData >::size_type

◆ VectorType [1/4]

template<class MatrixT >
typedef MatrixType::RowVectorType capd::dynset::DoubletonData< MatrixT >::VectorType

◆ VectorType [2/4]

template<class MatrixT >
typedef MatrixType::RowVectorType capd::dynset::TripletonData< MatrixT >::VectorType

◆ VectorType [3/4]

template<class MatrixT >
typedef MatrixType::RowVectorType capd::dynset::C1DoubletonData< MatrixT >::VectorType

◆ VectorType [4/4]

template<class BaseData >
typedef MatrixType::RowVectorType capd::dynset::HOData< BaseData >::VectorType

Function Documentation

◆ C1DoubletonData()

template<class MatrixT >
capd::dynset::C1DoubletonData< MatrixT >::C1DoubletonData ( size_type  dimension)
inlineexplicit

◆ computeBinvB()

template<class VectorT , class MatrixT >
void capd::dynset::IdQRPolicy::computeBinvB ( MatrixT &  B,
MatrixT &  invB,
const VectorT &   
) const
inline

◆ computeC0HOCoefficients()

template<class BaseData >
void capd::dynset::HOData< BaseData >::computeC0HOCoefficients ( )
inline

◆ computeC0HORemainder()

template<class BaseData >
void capd::dynset::HOData< BaseData >::computeC0HORemainder ( size_type  p,
size_type  q 
)
inline

◆ computeC1HORemainder()

template<class BaseData >
void capd::dynset::HOData< BaseData >::computeC1HORemainder ( size_type  p,
size_type  q,
MatrixType jacRem 
)
inline

◆ computePsi()

template<class DS , class V , class M >
void capd::dynset::computePsi ( DS &  ds,
int  p,
int  q,
const typename DS::ScalarType &  h,
V &  psi,
M &  Dpsi 
)

This is an algorithm for computation of polynomial part of Hermite-Obreshkov interpolation Used in all HO-sets.

Assumptions:

Parameters
dsdynamical system. We assume that it has computed coefficients for the main part and variational equations
p,qtwo numners such that p+q=order
[out]psicomputed polynomial interpolation
[out]Dpsiderivative of psi wrt

NOTE: In the present implementation order cannot be bigger than 33. This is due to the capacity of long type when compute binomial.

◆ DoubletonData()

template<class MatrixT >
capd::dynset::DoubletonData< MatrixT >::DoubletonData ( size_type  dimension)
inlineexplicit

◆ HOData()

template<class BaseData >
capd::dynset::HOData< BaseData >::HOData ( size_type  dimension)
inlineexplicit

◆ isC1ReorganizationNeeded() [1/2]

template<typename BasePolicy = DefaultPolicy>
template<class Matrix >
bool capd::dynset::InvBByCFactorReorganization< BasePolicy >::isC1ReorganizationNeeded ( const Matrix &  invB,
const Matrix &  C,
const Matrix &  R,
const Matrix &  R0 
) const
inline

◆ isC1ReorganizationNeeded() [2/2]

template<typename BasePolicy = DefaultPolicy>
template<class SetType >
bool capd::dynset::InvBByCFactorReorganization< BasePolicy >::isC1ReorganizationNeeded ( const SetType &  result) const
inline

◆ isReorganizationNeeded() [1/2]

template<typename BasePolicy = DefaultPolicy>
template<class Matrix , class Vector >
bool capd::dynset::InvBByCFactorReorganization< BasePolicy >::isReorganizationNeeded ( const Matrix &  invB,
const Matrix &  C,
const Vector &  r,
const Vector &  r0 
) const
inline

◆ isReorganizationNeeded() [2/2]

template<typename BasePolicy = DefaultPolicy>
template<class SetType >
bool capd::dynset::InvBByCFactorReorganization< BasePolicy >::isReorganizationNeeded ( const SetType &  result) const
inline

◆ move() [1/2]

template<typename MatrixT , typename Policies , __size_type DEGREE>
template<typename DynSysT >
void capd::dynset::CnDoubletonSet< MatrixT, Policies, DEGREE >::move ( DynSysT &  cndynsys,
CnDoubletonSet< MatrixT, Policies, DEGREE > &  result 
) const

◆ move() [2/2]

template<typename MatrixType , typename Policies , __size_type DEGREE>
template<class DynSysT >
void capd::dynset::CnRect2Set< MatrixType, Policies, DEGREE >::move ( DynSysT &  cndynsys,
CnRect2Set< MatrixT, Policies, DEGREE > &  result 
) const

◆ name()

template<typename BasePolicy = DefaultPolicy>
std::string capd::dynset::InvBByCFactorReorganization< BasePolicy >::name ( ) const
inline

◆ operator*()

template<typename MatrixT , typename Policies >
C0TripletonSet<MatrixT,Policies> capd::dynset::operator* ( const MatrixT &  A,
const C0TripletonSet< MatrixT, Policies > &  s 
)

◆ reorganizeC1IfNeeded() [1/2]

template<typename BasePolicy = DefaultPolicy>
template<class Matrix >
bool capd::dynset::InvBByCFactorReorganization< BasePolicy >::reorganizeC1IfNeeded ( Matrix &  B,
Matrix &  invB,
Matrix &  R,
Matrix &  C,
Matrix &  R0 
) const
inline

◆ reorganizeC1IfNeeded() [2/2]

template<typename BasePolicy = DefaultPolicy>
template<class SetType >
bool capd::dynset::InvBByCFactorReorganization< BasePolicy >::reorganizeC1IfNeeded ( SetType &  result) const
inline

makes reorganization if needed. return true if reorganization was performed

◆ reorganizeIfNeeded() [1/2]

template<typename BasePolicy = DefaultPolicy>
template<class Matrix , class Vector >
bool capd::dynset::InvBByCFactorReorganization< BasePolicy >::reorganizeIfNeeded ( Matrix &  B,
Matrix &  invB,
Vector &  r,
Matrix &  C,
Vector &  r0 
) const
inline

◆ reorganizeIfNeeded() [2/2]

template<typename BasePolicy = DefaultPolicy>
template<class SetType >
bool capd::dynset::InvBByCFactorReorganization< BasePolicy >::reorganizeIfNeeded ( SetType &  result) const
inline

makes reorganization if needed.

◆ toString() [1/2]

std::string capd::dynset::IdQRPolicy::toString ( ) const
inline

◆ toString() [2/2]

std::string capd::dynset::DefaultPolicy::toString ( ) const
inline

◆ TripletonData()

template<class MatrixT >
capd::dynset::TripletonData< MatrixT >::TripletonData ( size_type  dimension)
inlineexplicit

Variable Documentation

◆ B

template<class MatrixT >
MatrixType capd::dynset::DoubletonData< MatrixT >::B

◆ cBound

template<class BaseData >
VectorType capd::dynset::HOData< BaseData >::cBound

◆ deltaC

template<class MatrixT >
MatrixType capd::dynset::DoubletonData< MatrixT >::deltaC

◆ deltaX

template<class MatrixT >
VectorType capd::dynset::DoubletonData< MatrixT >::deltaX

◆ deltaY

template<class MatrixT >
VectorType capd::dynset::DoubletonData< MatrixT >::deltaY

◆ enc

template<class MatrixT >
VectorType capd::dynset::DoubletonData< MatrixT >::enc

◆ jacEnc

template<class MatrixT >
MatrixType capd::dynset::C1DoubletonData< MatrixT >::jacEnc

◆ jacPhi

template<class MatrixT >
MatrixType capd::dynset::DoubletonData< MatrixT >::jacPhi

◆ jacRem

template<class MatrixT >
MatrixType capd::dynset::C1DoubletonData< MatrixT >::jacRem

◆ JMinus

template<class BaseData >
MatrixType capd::dynset::HOData< BaseData >::JMinus

◆ JPlus

template<class BaseData >
MatrixType capd::dynset::HOData< BaseData >::JPlus

◆ midJMinusInverse

template<class BaseData >
MatrixType capd::dynset::HOData< BaseData >::midJMinusInverse

◆ pBound

template<class BaseData >
VectorType capd::dynset::HOData< BaseData >::pBound

◆ psiMinus

template<class BaseData >
VectorType capd::dynset::HOData< BaseData >::psiMinus

◆ psiPlus

template<class BaseData >
VectorType capd::dynset::HOData< BaseData >::psiPlus

◆ Q

template<class MatrixT >
MatrixType capd::dynset::TripletonData< MatrixT >::Q

◆ qr

template<class MatrixT >
VectorType capd::dynset::TripletonData< MatrixT >::qr

◆ rem

template<class MatrixT >
VectorType capd::dynset::DoubletonData< MatrixT >::rem

◆ T

template<class BaseData >
MatrixType capd::dynset::HOData< BaseData >::T

◆ x

template<class MatrixT >
VectorType capd::dynset::DoubletonData< MatrixT >::x

◆ y

template<class MatrixT >
VectorType capd::dynset::DoubletonData< MatrixT >::y