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 IMatrixTypeinvCoordinateSystem () const
 
IVectorType box () const
 
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...
 

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)

◆ 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

◆ 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

◆ show()

template<typename MatrixType , typename IMatrixType >
std::string capd::covrel::HSetMD< MatrixType, IMatrixType >::show
virtual

◆ showInfo()

template<typename MatrixType , typename IMatrixType >
std::string capd::covrel::HSetMD< MatrixType, IMatrixType >::showInfo

◆ 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

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