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

This class provides a h-set in R^2 with one unstable and one stable direction. More...

#include <capd/covrel/HSet2D.h>

Public Types

typedef MatrixT::RowVectorType VectorType
 
typedef IMatrixT::RowVectorType IVectorType
 
typedef IVectorType::ScalarType ScalarType
 
typedef VectorType::ScalarType BoundType
 
typedef MatrixT MatrixType
 
typedef IMatrixT IMatrixType
 
typedef HSetMD< MatrixType, IMatrixTypeBaseHSet
 
typedef VectorType::size_type size_type
 

Public Member Functions

 HSet2D ()
 
 HSet2D (const VectorType &center, const MatrixType &C, const VectorType &r)
 we assume that the set is represented as center + C * B(0, r) first column of C represent unstable direction second column of C represent stable direction More...
 
 HSet2D (const IVectorType &center, const IMatrixType &C, const VectorType &r)
 we assume that the set is represented as center + C * B(0, r) first column of C represent unstable direction second column of C represent stable direction More...
 
 HSet2D (const VectorType &center, const VectorType &unstableDirection, const VectorType &stableDirection, const VectorType &scales)
 Creates HSet from given center, unstable and stable directions and their scales. More...
 
 HSet2D (const IVectorType &center, const IVectorType &unstableDirection, const IVectorType &stableDirection, const VectorType &radius)
 Creates HSet from given center, unstable and stable directions and their scales. More...
 
 ~HSet2D ()
 
IMatrixType::RefColumnVectorType unstableDirection () const
 
IMatrixType::RefColumnVectorType stableDirection () const
 
bool onLeft (const VectorType &point) const
 
bool onRight (const VectorType &point) const
 
bool onLeft (const IVectorType &set) const
 
bool onRight (const IVectorType &set) const
 
template<typename SetT >
bool onLeft (const SetT &A_set) const
 
template<typename SetT >
bool onRight (const SetT &A_set) const
 
template<typename IMatrix >
GridSet< IMatrix > & gridFace (GridSet< IMatrix > &grid, size_type gridSize, size_type coordinateToFix, Side sideOfBox, size_type totalDimension=2, size_type d1=0, size_type d2=1) const
 in the grid it returns uniform grid of the given face More...
 
template<typename IMatrix >
GridSet< IMatrix > & gridLeftEdge (GridSet< IMatrix > &G, size_type gridSize, size_type totalDimension=2, size_type d1=0, size_type d2=1) const
 
template<typename IMatrix >
GridSet< IMatrix > & gridRightEdge (GridSet< IMatrix > &G, size_type gridSize, size_type totalDimension=2, size_type d1=0, size_type d2=1) const
 
template<typename IMatrix >
GridSet< IMatrix > & gridBottomEdge (GridSet< IMatrix > &G, size_type gridSize, size_type totalDimension=2, size_type d1=0, size_type d2=1) const
 
template<typename IMatrix >
GridSet< IMatrix > & gridTopEdge (GridSet< IMatrix > &G, size_type gridSize, size_type totalDimension=2, size_type d1=0, size_type d2=1) const
 
template<typename IMatrix >
GridSet< IMatrix > & gridSet (GridSet< IMatrix > &G, size_type grid1, size_type grid2, size_type totalDimension=2, size_type d1=0, size_type d2=1) const
 
virtual std::string show (void) const
 
virtual bool outside (const VectorType &point) const
 
virtual bool outside (const IVectorType &point) const
 
template<typename SetType >
bool outside (const SetType &A_set) 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...
 
bool inside (const VectorType &point) const
 
bool inside (const IVectorType &point) const
 
template<typename SetType >
bool inside (const SetType &A_set) const
 
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...
 
bool across (const VectorType &point) const
 
bool across (const IVectorType &point) const
 
template<typename SetType >
bool across (const SetType &A_set) const
 
virtual bool across (const VectorType &) const=0
 
virtual bool across (const IVectorType &set) const=0
 verifies if set does not intersect N^+ More...
 
bool mapaway (const VectorType &point) const
 
bool mapaway (const IVectorType &point) const
 
template<typename SetType >
bool mapaway (const SetType &A_set) const
 
virtual bool mapaway (const VectorType &) const=0
 
virtual bool mapaway (const IVectorType &set) const=0
 ??? More...
 
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
 
std::string showInfo () const
 

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
 

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...
 

Detailed Description

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

This class provides a h-set in R^2 with one unstable and one stable direction.

Member Typedef Documentation

◆ BaseHSet

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

◆ BoundType

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

◆ IMatrixType

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

◆ IVectorType

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

◆ MatrixType

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

◆ ScalarType

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

◆ size_type

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

◆ VectorType

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

Constructor & Destructor Documentation

◆ HSet2D() [1/5]

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

◆ HSet2D() [2/5]

template<typename MatrixT , typename IMatrixT >
capd::covrel::HSet2D< MatrixT, IMatrixT >::HSet2D ( const VectorType center,
const MatrixType C,
const VectorType r 
)
inline

we assume that the set is represented as center + C * B(0, r) first column of C represent unstable direction second column of C represent stable direction

◆ HSet2D() [3/5]

template<typename MatrixT , typename IMatrixT >
capd::covrel::HSet2D< MatrixT, IMatrixT >::HSet2D ( const IVectorType center,
const IMatrixType C,
const VectorType r 
)
inline

we assume that the set is represented as center + C * B(0, r) first column of C represent unstable direction second column of C represent stable direction

◆ HSet2D() [4/5]

template<typename MatrixT , typename IMatrixT >
capd::covrel::HSet2D< MatrixT, IMatrixT >::HSet2D ( const VectorType center,
const VectorType unstableDirection,
const VectorType stableDirection,
const VectorType scales 
)
inline

Creates HSet from given center, unstable and stable directions and their scales.

◆ HSet2D() [5/5]

template<typename MatrixT , typename IMatrixT >
capd::covrel::HSet2D< MatrixT, IMatrixT >::HSet2D ( const IVectorType center,
const IVectorType unstableDirection,
const IVectorType stableDirection,
const VectorType radius 
)
inline

Creates HSet from given center, unstable and stable directions and their scales.

◆ ~HSet2D()

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

Member Function Documentation

◆ across() [1/5]

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

◆ 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
inherited

◆ 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
inherited

◆ box()

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

< 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
inherited

◆ checkInside()

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

◆ checkMapaway()

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

◆ checkOutside()

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

◆ get_B()

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

◆ get_I_B()

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

◆ get_I_invB()

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

◆ get_I_x()

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

◆ get_r()

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

◆ get_x()

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

◆ gridFace()

template<typename MatrixT , typename IMatrixT >
template<typename IMatrix >
GridSet<IMatrix>& capd::covrel::HSet2D< MatrixT, IMatrixT >::gridFace ( GridSet< IMatrix > &  grid,
size_type  gridSize,
size_type  coordinateToFix,
Side  sideOfBox,
size_type  totalDimension = 2,
size_type  d1 = 0,
size_type  d2 = 1 
) const
inline

in the grid it returns uniform grid of the given face

Parameters
gridSizenumber of pieces in the grid
coordinateToFixwhich wall should be subdivided
sideOfBoxwhich side of given coordinate should be subdivided : 0 - both, -1 - left, 1 - right
totalDimensiondimension of the space (can be bigger than 2 if we embed the set)
d1,d2if hset is embedded in higher dimension then we put first coordinate in d1 coordinate, second in d2 and the rest set to 0.

◆ inside() [1/5]

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

◆ 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
inherited

◆ 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
inherited

◆ invCoordinateSystem()

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

◆ mapaway() [1/5]

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

◆ 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
inherited

◆ 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
inherited

◆ onLeft() [1/3]

template<typename MatrixT , typename IMatrixT >
bool capd::covrel::HSet2D< MatrixT, IMatrixT >::onLeft ( const IVectorType set) const
inline

◆ onLeft() [2/3]

template<typename MatrixT , typename IMatrixT >
template<typename SetT >
bool capd::covrel::HSet2D< MatrixT, IMatrixT >::onLeft ( const SetT &  A_set) const
inline

◆ onLeft() [3/3]

template<typename MatrixT , typename IMatrixT >
bool capd::covrel::HSet2D< MatrixT, IMatrixT >::onLeft ( const VectorType point) const
inline

◆ onRight() [1/3]

template<typename MatrixT , typename IMatrixT >
bool capd::covrel::HSet2D< MatrixT, IMatrixT >::onRight ( const IVectorType set) const
inline

◆ onRight() [2/3]

template<typename MatrixT , typename IMatrixT >
template<typename SetT >
bool capd::covrel::HSet2D< MatrixT, IMatrixT >::onRight ( const SetT &  A_set) const
inline

◆ onRight() [3/3]

template<typename MatrixT , typename IMatrixT >
bool capd::covrel::HSet2D< MatrixT, IMatrixT >::onRight ( const VectorType point) const
inline

◆ outside() [1/5]

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

◆ 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
inherited

◆ 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
virtualinherited

◆ show()

template<typename MatrixT , typename IMatrixT >
virtual std::string capd::covrel::HSet2D< MatrixT, IMatrixT >::show ( void  ) const
inlinevirtual

◆ showInfo()

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

◆ stableDirection()

template<typename MatrixT , typename IMatrixT >
IMatrixType::RefColumnVectorType capd::covrel::HSet2D< MatrixT, IMatrixT >::stableDirection ( ) const
inline

◆ transformToHSetCoordinates() [1/2]

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

◆ transformToHSetCoordinates() [2/2]

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

◆ unstableDirection()

template<typename MatrixT , typename IMatrixT >
IMatrixType::RefColumnVectorType capd::covrel::HSet2D< MatrixT, IMatrixT >::unstableDirection ( ) const
inline

Member Data Documentation

◆ m_B

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

coordinate system

◆ m_IB

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

◆ m_invIB

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

rigorous coordinate system and its inverse

◆ m_Ix

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

rigorous center point

◆ m_r

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

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
protectedinherited

number of stable dimensions

◆ m_uDim

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

number of unstable dimensions

◆ m_x

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

center point