The Conley-Morse Graphs Software
Public Member Functions | List of all members
MapComputationTight< mapcomp, cubetype, cubsettype > Class Template Reference

The generic map computation routine that computes a rigorous cubical multivalued map based on a function that computes the image of an interval vector as a rectangular set. More...

#include <mapcomp_t.h>

Inheritance diagram for MapComputationTight< mapcomp, cubetype, cubsettype >:
MapComputation< mapcomp, cubetype, chomp::homology::hashedset< cubetype > >

Public Member Functions

 MapComputationTight (const double *_offset, const double *_width, int _intwidth, int _subdivdepth, const mapcomp &_M=mapcomp())
 The default constructor. More...
 
int operator() (const cubetype &q, cubsettype *img, chomp::homology::diGraph<> *g, const cubsettype *codomain, const cubsettype *disjoint, bool throwIfCropped) const
 The operator for computing the image of a box as a set of boxes, as it is in a combinatorial cubical multivalued map. More...
 
- Public Member Functions inherited from MapComputation< mapcomp, cubetype, chomp::homology::hashedset< cubetype > >
 MapComputation (const double *_offset, const double *_width, int _intwidth, int _subdivdepth, const mapcomp &_M)
 The default constructor. More...
 
 ~MapComputation ()
 The destructor. More...
 
int operator() (const cubetype &q, chomp::homology::hashedset< cubetype > *img, chomp::homology::diGraph<> *g, const chomp::homology::hashedset< cubetype > *codomain, const chomp::homology::hashedset< cubetype > *disjoint, bool throwIfCropped) const
 The operator for computing the image of a box as a set of boxes, as it is in a combinatorial cubical multivalued map. More...
 
int intWidth () const
 Returns the width of the phase space in terms of the number of boxes. More...
 
int subdivDepth () const
 Returns the subdivision depth at which the computations are done. More...
 
void cleanCache () const
 Cleans the cache of the cubical map, e.g., if the underlying interval map has changed. More...
 

Additional Inherited Members

- Public Types inherited from MapComputation< mapcomp, cubetype, chomp::homology::hashedset< cubetype > >
typedef mapcomp MapCompType
 The type of the underlying interval map. More...
 
typedef chomp::homology::diGraph GraphType
 The type of the graph used in the computation of the image. More...
 
- Static Public Member Functions inherited from MapComputation< mapcomp, cubetype, chomp::homology::hashedset< cubetype > >
static void encloseIntervalInt (const IntervalArray &box, int dim, typename cubetype::CoordType *left, typename cubetype::CoordType *right)
 A helper function that encloses an interval box in the interior of a box with integer coordinates. More...
 
static void setAllowedImgSize (int diameter, int volume)
 Sets new (more or less restrictive) limits for the maximal allowed image diameter and volume. More...
 
- Public Attributes inherited from MapComputation< mapcomp, cubetype, chomp::homology::hashedset< cubetype > >
const mapcomp & M
 The map used to compute an interval enclosure of the image of an interval box. More...
 
bool cache
 Using cache for the map. More...
 
bool cropping
 Is cropping of images to the designated box in effect? More...
 
bool cropped
 Was the image cropped at least once? Reset this variable to "false" in order to detect image cropping again. More...
 
- Static Public Attributes inherited from MapComputation< mapcomp, cubetype, chomp::homology::hashedset< cubetype > >
static int maxImgDiam
 The maximal image diameter encountered so far. More...
 
static int maxImgVol
 The maximal image volume encountered so far. More...
 
- Protected Member Functions inherited from MapComputation< mapcomp, cubetype, chomp::homology::hashedset< cubetype > >
int compute (const typename cubetype::CoordType *coord, int dim, typename cubetype::CoordType *left, typename cubetype::CoordType *right, IntervalType *scaledImage) const
 Use interval arithmetic to compute the coordinate scope. More...
 
- Protected Attributes inherited from MapComputation< mapcomp, cubetype, chomp::homology::hashedset< cubetype > >
const double * offset
 The offset of the cubical rectangle. More...
 
const double * width
 The width of the rectangle in each direction. More...
 
int intwidth
 The width of the rectangle in terms of the number of cubes. More...
 
int subdivdepth
 The binary subdivision depth. More...
 
- Static Protected Attributes inherited from MapComputation< mapcomp, cubetype, chomp::homology::hashedset< cubetype > >
static int maxImgDiamAllowed
 The maximal allowed image diameter. More...
 
static int maxImgVolAllowed
 The maximal allowed image volume. More...
 

Detailed Description

template<class mapcomp, class cubetype, class cubsettype = chomp::homology::hashedset<cubetype>>
class MapComputationTight< mapcomp, cubetype, cubsettype >

The generic map computation routine that computes a rigorous cubical multivalued map based on a function that computes the image of an interval vector as a rectangular set.

The "mapcomp" class must have an appropriate method called "compute" which is used to compute the map in interval arithmetic.

Definition at line 71 of file mapcomp_t.h.

Constructor & Destructor Documentation

◆ MapComputationTight()

template<class mapcomp , class cubetype , class cubsettype >
MapComputationTight< mapcomp, cubetype, cubsettype >::MapComputationTight ( const double *  _offset,
const double *  _width,
int  _intwidth,
int  _subdivdepth,
const mapcomp &  _M = mapcomp () 
)
inline

The default constructor.

Definition at line 96 of file mapcomp_t.h.

Member Function Documentation

◆ operator()()

template<class mapcomp , class cubetype , class cubsettype >
int MapComputationTight< mapcomp, cubetype, cubsettype >::operator() ( const cubetype &  q,
cubsettype *  img,
chomp::homology::diGraph<> *  g,
const cubsettype *  codomain,
const cubsettype *  disjoint,
bool  throwIfCropped 
) const
inline

The operator for computing the image of a box as a set of boxes, as it is in a combinatorial cubical multivalued map.

The image is restricted to the given codomain (if provided). The integral coefficients of cubes are transformed to real numbers according to the rectangular area defined by offset from the origin and its width, as well as the width of this area in terms of integral coordinates.

Definition at line 106 of file mapcomp_t.h.

References checkImageSize(), coverRectSet(), cropRanges(), disjoint(), resetRounding(), and custom::difference::spaceDim.


The documentation for this class was generated from the following file: