CAPD DynSys Library 5.2.0
capd::covrel::HSetMD< MatrixT, IMatrixT > Class Template Referenceabstract

This class provides a h-set in an arbitrary dimension. More...

#include <capd/covrel/HSetMD.h>

Public Types

typedef MatrixT MatrixType
 
typedef IMatrixT IMatrixType
 
typedef MatrixType::RowVectorType VectorType
 
typedef IMatrixType::RowVectorType IVectorType
 
typedef IVectorType::ScalarType ScalarType
 
typedef VectorType::ScalarType BoundType
 
typedef VectorType::size_type size_type
 

Public Member Functions

 HSetMD ()
 
 HSetMD (const VectorType &center, const MatrixType &Base, size_type uDim, size_type sDim, const VectorType &r)
 Constructor of HSet from approximation. More...
 
 HSetMD (const IVectorType &center, const IMatrixType &Base, size_type uDim, size_type sDim, const VectorType &r)
 Constructor of HSet from rigorous data. More...
 
 ~HSetMD ()
 
virtual bool outside (const VectorType &point) const
 
bool inside (const VectorType &point) const
 
bool across (const VectorType &point) const
 
bool mapaway (const VectorType &point) const
 
virtual bool outside (const IVectorType &point) const
 
bool inside (const IVectorType &point) const
 
bool across (const IVectorType &point) const
 
bool mapaway (const IVectorType &point) const
 
template<typename SetType >
bool outside (const SetType &A_set) const
 
template<typename SetType >
bool inside (const SetType &A_set) const
 
template<typename SetType >
bool across (const SetType &A_set) const
 
template<typename SetType >
bool mapaway (const SetType &A_set) const
 
VectorType transformToHSetCoordinates (const VectorType &point) const
 
IVectorType transformToHSetCoordinates (const IVectorType &point) const
 
template<typename IMatrix >
GridSet< IMatrix > & gridFace (GridSet< IMatrix > &grid, const std::vector< size_type > &gridSizes, const std::vector< size_type > &dimensions, size_type totalDimension, size_type coordinateToFix, Side side=bothSides) const
 in the grid it returns uniform grid of the given face More...
 
template<typename IMatrix >
GridSet< IMatrix > & gridSet (GridSet< IMatrix > &G, const std::vector< size_type > &grid, const std::vector< size_type > &d, size_type totalDimension) const
 this procedure creates a grid of the whole h-set in the following form: G.center[i] + G.C * G.r d is a vector of indices of coordinates if the set is embeded in higher dimension More...
 
const IVectorTypecenter () const
 center of h-set More...
 
const IMatrixTypecoordinateSystem () const
 matrix of base vectors More...
 
const IMatrixTypeinvCoordinateSystem () const
 
IVectorType box () const
 
const VectorTyperadius ()
 returns vector of radiuses (in each direction) More...
 
size_type unstableDimension () const
 number of unstable dimensions More...
 
size_type stableDimension () const
 number of stable dimensions More...
 
const VectorTypeget_x () const
 
const MatrixTypeget_B () const
 
const VectorTypeget_r () const
 
const IVectorTypeget_I_x () const
 
const IMatrixTypeget_I_B () const
 
const IMatrixTypeget_I_invB () const
 
virtual std::string show () const
 
std::string showInfo () const
 
virtual bool outside (const VectorType &) const=0
 
virtual bool outside (const IVectorType &set) const=0
 verifies if set does not intersect the support of h-set More...
 
virtual bool inside (const VectorType &) const=0
 
virtual bool inside (const IVectorType &set) const=0
 verifies if set is inside the support of h-set, More...
 
virtual bool across (const VectorType &) const=0
 
virtual bool across (const IVectorType &set) const=0
 verifies if set does not intersect N^+ More...
 
virtual bool mapaway (const VectorType &) const=0
 
virtual bool mapaway (const IVectorType &set) const=0
 ??? More...
 

these functions works for interval sets expressed in HSet coordinate system

bool checkOutside (const IVectorType &) const
 
bool checkInside (const IVectorType &) const
 
bool checkAcross (const IVectorType &) const
 
bool checkMapaway (const IVectorType &) const
 

Protected Attributes

VectorType m_x
 center point More...
 
MatrixType m_B
 coordinate system More...
 
IVectorType m_Ix
 rigorous center point More...
 
IMatrixType m_IB
 
IMatrixType m_invIB
 rigorous coordinate system and its inverse More...
 
size_type m_uDim
 number of unstable dimensions More...
 
size_type m_sDim
 number of stable dimensions More...
 
VectorType m_r
 radiuses of balls (used both for non-rigorous and rigorous version) More...
 

Friends

std::ostream & operator<< (std::ostream &stream, const HSetMD &set)
 

Detailed Description

template<typename MatrixT, typename IMatrixT>
class capd::covrel::HSetMD< MatrixT, IMatrixT >

This class provides a h-set in an arbitrary dimension.

We assume that the set is represented as center + Base * B(0,r) where center is vector, Base is matrix of coordinate change and B(0,r) is a ball of radius r and dimension uDim + sDim where uDim denotes a number of unstable directions sDim denotes a number of stable directions

Member Typedef Documentation

◆ BoundType

template<typename MatrixT , typename IMatrixT >
typedef VectorType::ScalarType capd::covrel::HSetMD< MatrixT, IMatrixT >::BoundType

◆ IMatrixType

template<typename MatrixT , typename IMatrixT >
typedef IMatrixT capd::covrel::HSetMD< MatrixT, IMatrixT >::IMatrixType

◆ IVectorType

template<typename MatrixT , typename IMatrixT >
typedef IMatrixType::RowVectorType capd::covrel::HSetMD< MatrixT, IMatrixT >::IVectorType

◆ MatrixType

template<typename MatrixT , typename IMatrixT >
typedef MatrixT capd::covrel::HSetMD< MatrixT, IMatrixT >::MatrixType

◆ ScalarType

template<typename MatrixT , typename IMatrixT >
typedef IVectorType::ScalarType capd::covrel::HSetMD< MatrixT, IMatrixT >::ScalarType

◆ size_type

template<typename MatrixT , typename IMatrixT >
typedef VectorType::size_type capd::covrel::HSetMD< MatrixT, IMatrixT >::size_type

◆ VectorType

template<typename MatrixT , typename IMatrixT >
typedef MatrixType::RowVectorType capd::covrel::HSetMD< MatrixT, IMatrixT >::VectorType

Constructor & Destructor Documentation

◆ HSetMD() [1/3]

template<typename MatrixT , typename IMatrixT >
capd::covrel::HSetMD< MatrixT, IMatrixT >::HSetMD ( )
inline

◆ HSetMD() [2/3]

template<typename MatrixType , typename IMatrixType >
capd::covrel::HSetMD< MatrixType, IMatrixType >::HSetMD ( const VectorType center,
const MatrixType Base,
size_type  uDim,
size_type  sDim,
const VectorType r 
)

Constructor of HSet from approximation.

HSet is represented as center + Base * B(0,r) uDim denotes a number of unstable directions sDim denotes a number of stable directions It sets both nonrigorous and rigorous fields

◆ HSetMD() [3/3]

template<typename MatrixType , typename IMatrixType >
capd::covrel::HSetMD< MatrixType, IMatrixType >::HSetMD ( const IVectorType center,
const IMatrixType Base,
size_type  uDim,
size_type  sDim,
const VectorType r 
)

Constructor of HSet from rigorous data.

HSet is represented as center + Base * B(0,r) uDim denotes a number of unstable directions sDim denotes a number of stable directions It sets both nonrigorous and rigorous fields

◆ ~HSetMD()

template<typename MatrixT , typename IMatrixT >
capd::covrel::HSetMD< MatrixT, IMatrixT >::~HSetMD ( )
inline

Member Function Documentation

◆ across() [1/5]

template<typename MatrixType , typename IMatrixType >
bool capd::covrel::HSetMD< MatrixType, IMatrixType >::across ( const IVectorType point) const

◆ across() [2/5]

virtual bool capd::covrel::HSet< MatrixT::RowVectorType , IMatrixT::RowVectorType >::across ( const IVectorType set) const
pure virtualinherited

verifies if set does not intersect N^+

◆ across() [3/5]

template<typename MatrixType , typename IMatrixType >
template<typename SetType >
bool capd::covrel::HSetMD< MatrixType, IMatrixType >::across ( const SetType A_set) const

◆ across() [4/5]

virtual bool capd::covrel::HSet< MatrixT::RowVectorType , IMatrixT::RowVectorType >::across ( const VectorType ) const
pure virtualinherited

◆ across() [5/5]

template<typename MatrixType , typename IMatrixType >
bool capd::covrel::HSetMD< MatrixType, IMatrixType >::across ( const VectorType point) const

◆ box()

template<typename MatrixT , typename IMatrixT >
IVectorType capd::covrel::HSetMD< MatrixT, IMatrixT >::box ( ) const
inline

< h-set in 'proper' coordinate system (it is a product of intervals)

◆ center()

template<typename MatrixT , typename IMatrixT >
const IVectorType & capd::covrel::HSetMD< MatrixT, IMatrixT >::center ( ) const
inline

center of h-set

◆ checkAcross()

template<typename MatrixType , typename IMatrixType >
bool capd::covrel::HSetMD< MatrixType, IMatrixType >::checkAcross ( const IVectorType x) const

◆ checkInside()

template<typename MatrixType , typename IMatrixType >
bool capd::covrel::HSetMD< MatrixType, IMatrixType >::checkInside ( const IVectorType x) const

◆ checkMapaway()

template<typename MatrixType , typename IMatrixType >
bool capd::covrel::HSetMD< MatrixType, IMatrixType >::checkMapaway ( const IVectorType x) const

◆ checkOutside()

template<typename MatrixType , typename IMatrixType >
bool capd::covrel::HSetMD< MatrixType, IMatrixType >::checkOutside ( const IVectorType x) const

◆ coordinateSystem()

template<typename MatrixT , typename IMatrixT >
const IMatrixType & capd::covrel::HSetMD< MatrixT, IMatrixT >::coordinateSystem ( ) const
inline

matrix of base vectors

◆ get_B()

template<typename MatrixT , typename IMatrixT >
const MatrixType & capd::covrel::HSetMD< MatrixT, IMatrixT >::get_B ( ) const
inline

◆ get_I_B()

template<typename MatrixT , typename IMatrixT >
const IMatrixType & capd::covrel::HSetMD< MatrixT, IMatrixT >::get_I_B ( ) const
inline

◆ get_I_invB()

template<typename MatrixT , typename IMatrixT >
const IMatrixType & capd::covrel::HSetMD< MatrixT, IMatrixT >::get_I_invB ( ) const
inline

◆ get_I_x()

template<typename MatrixT , typename IMatrixT >
const IVectorType & capd::covrel::HSetMD< MatrixT, IMatrixT >::get_I_x ( ) const
inline

◆ get_r()

template<typename MatrixT , typename IMatrixT >
const VectorType & capd::covrel::HSetMD< MatrixT, IMatrixT >::get_r ( ) const
inline

◆ get_x()

template<typename MatrixT , typename IMatrixT >
const VectorType & capd::covrel::HSetMD< MatrixT, IMatrixT >::get_x ( ) const
inline

◆ inside() [1/5]

template<typename MatrixType , typename IMatrixType >
bool capd::covrel::HSetMD< MatrixType, IMatrixType >::inside ( const IVectorType point) const

◆ inside() [2/5]

virtual bool capd::covrel::HSet< MatrixT::RowVectorType , IMatrixT::RowVectorType >::inside ( const IVectorType set) const
pure virtualinherited

verifies if set is inside the support of h-set,

◆ inside() [3/5]

template<typename MatrixType , typename IMatrixType >
template<typename SetType >
bool capd::covrel::HSetMD< MatrixType, IMatrixType >::inside ( const SetType A_set) const

◆ inside() [4/5]

virtual bool capd::covrel::HSet< MatrixT::RowVectorType , IMatrixT::RowVectorType >::inside ( const VectorType ) const
pure virtualinherited

◆ inside() [5/5]

template<typename MatrixType , typename IMatrixType >
bool capd::covrel::HSetMD< MatrixType, IMatrixType >::inside ( const VectorType point) const

◆ invCoordinateSystem()

template<typename MatrixT , typename IMatrixT >
const IMatrixType & capd::covrel::HSetMD< MatrixT, IMatrixT >::invCoordinateSystem ( ) const
inline

◆ mapaway() [1/5]

template<typename MatrixType , typename IMatrixType >
bool capd::covrel::HSetMD< MatrixType, IMatrixType >::mapaway ( const IVectorType point) const

◆ mapaway() [2/5]

virtual bool capd::covrel::HSet< MatrixT::RowVectorType , IMatrixT::RowVectorType >::mapaway ( const IVectorType set) const
pure virtualinherited

???

◆ mapaway() [3/5]

template<typename MatrixType , typename IMatrixType >
template<typename SetType >
bool capd::covrel::HSetMD< MatrixType, IMatrixType >::mapaway ( const SetType A_set) const

◆ mapaway() [4/5]

virtual bool capd::covrel::HSet< MatrixT::RowVectorType , IMatrixT::RowVectorType >::mapaway ( const VectorType ) const
pure virtualinherited

◆ mapaway() [5/5]

template<typename MatrixType , typename IMatrixType >
bool capd::covrel::HSetMD< MatrixType, IMatrixType >::mapaway ( const VectorType point) const

◆ outside() [1/5]

template<typename MatrixType , typename IMatrixType >
bool capd::covrel::HSetMD< MatrixType, IMatrixType >::outside ( const IVectorType point) const
virtual

◆ outside() [2/5]

virtual bool capd::covrel::HSet< MatrixT::RowVectorType , IMatrixT::RowVectorType >::outside ( const IVectorType set) const
pure virtualinherited

verifies if set does not intersect the support of h-set

◆ outside() [3/5]

template<typename MatrixType , typename IMatrixType >
template<typename SetType >
bool capd::covrel::HSetMD< MatrixType, IMatrixType >::outside ( const SetType A_set) const

◆ outside() [4/5]

virtual bool capd::covrel::HSet< MatrixT::RowVectorType , IMatrixT::RowVectorType >::outside ( const VectorType ) const
pure virtualinherited

◆ outside() [5/5]

template<typename MatrixType , typename IMatrixType >
bool capd::covrel::HSetMD< MatrixType, IMatrixType >::outside ( const VectorType point) const
virtual

◆ radius()

template<typename MatrixT , typename IMatrixT >
const VectorType & capd::covrel::HSetMD< MatrixT, IMatrixT >::radius ( )
inline

returns vector of radiuses (in each direction)

◆ show()

template<typename MatrixType , typename IMatrixType >
std::string capd::covrel::HSetMD< MatrixType, IMatrixType >::show ( void  ) const
virtual

◆ showInfo()

template<typename MatrixType , typename IMatrixType >
std::string capd::covrel::HSetMD< MatrixType, IMatrixType >::showInfo ( void  ) const

◆ stableDimension()

template<typename MatrixT , typename IMatrixT >
size_type capd::covrel::HSetMD< MatrixT, IMatrixT >::stableDimension ( ) const
inline

number of stable dimensions

◆ transformToHSetCoordinates() [1/2]

template<typename MatrixType , typename IMatrixType >
HSetMD< MatrixType, IMatrixType >::IVectorType capd::covrel::HSetMD< MatrixType, IMatrixType >::transformToHSetCoordinates ( const IVectorType point) const

◆ transformToHSetCoordinates() [2/2]

template<typename MatrixType , typename IMatrixType >
HSetMD< MatrixType, IMatrixType >::VectorType capd::covrel::HSetMD< MatrixType, IMatrixType >::transformToHSetCoordinates ( const VectorType point) const

◆ unstableDimension()

template<typename MatrixT , typename IMatrixT >
size_type capd::covrel::HSetMD< MatrixT, IMatrixT >::unstableDimension ( ) const
inline

number of unstable dimensions

Friends And Related Function Documentation

◆ operator<<

template<typename MatrixT , typename IMatrixT >
std::ostream & operator<< ( std::ostream &  stream,
const HSetMD< MatrixT, IMatrixT > &  set 
)
friend

Member Data Documentation

◆ m_B

template<typename MatrixT , typename IMatrixT >
MatrixType capd::covrel::HSetMD< MatrixT, IMatrixT >::m_B
protected

coordinate system

◆ m_IB

template<typename MatrixT , typename IMatrixT >
IMatrixType capd::covrel::HSetMD< MatrixT, IMatrixT >::m_IB
protected

◆ m_invIB

template<typename MatrixT , typename IMatrixT >
IMatrixType capd::covrel::HSetMD< MatrixT, IMatrixT >::m_invIB
protected

rigorous coordinate system and its inverse

◆ m_Ix

template<typename MatrixT , typename IMatrixT >
IVectorType capd::covrel::HSetMD< MatrixT, IMatrixT >::m_Ix
protected

rigorous center point

◆ m_r

template<typename MatrixT , typename IMatrixT >
VectorType capd::covrel::HSetMD< MatrixT, IMatrixT >::m_r
protected

radiuses of balls (used both for non-rigorous and rigorous version)

◆ m_sDim

template<typename MatrixT , typename IMatrixT >
size_type capd::covrel::HSetMD< MatrixT, IMatrixT >::m_sDim
protected

number of stable dimensions

◆ m_uDim

template<typename MatrixT , typename IMatrixT >
size_type capd::covrel::HSetMD< MatrixT, IMatrixT >::m_uDim
protected

number of unstable dimensions

◆ m_x

template<typename MatrixT , typename IMatrixT >
VectorType capd::covrel::HSetMD< MatrixT, IMatrixT >::m_x
protected

center point