MapComputation< 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 intervals using interval arithmetic. More...

#include <conindex.h>

List of all members.

Public Member Functions

 MapComputation (const double *_offset, const double *_width, int _intwidth, const mapcomp &_M=mapcomp())
 The default constructor.
 ~MapComputation ()
 The destructor.
int operator() (const cubetype &q, cubsettype &img) const
 The operator for computing the image of a box in terms of a set of boxes (a multivalued cubical map).

Public Attributes

bool cache
 Using cache for the map.
bool cropping
 Is cropping of images to the designated box in effect?
bool cropped
 Was the image cropped at least once? Reset this variable to "false" in order to detect image cropping again.

Static Public Attributes

static int maxImgDiam
 The maximal image diameter encountered so far.
static int maxImgVol
 The maximal image volume encountered so far.

Private Member Functions

int compute (const typename cubetype::CoordType *coord, int dim, typename cubetype::CoordType *left, typename cubetype::CoordType *right) const
 Use interval arithmetic to compute the coordinate scope.

Private Attributes

int cacheused
 The number of times the cache was used successfully.
const double * offset
 The offset of the cubical rectangle.
const double * width
 The width of the rectangle in each direction.
int intwidth
 The width of the rectangle in terms of the number of cubes.
const mapcomp & M
 The map used to compute an interval enclosure of the image of an interval box.
cubsettype computed
 The cache domain.
chomp::homology::multitable
< cubetype > 
leftcache
 The cache left vertex.
chomp::homology::multitable
< cubetype > 
rightcache
 The cache right vertex.


Detailed Description

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

The generic map computation routine that computes a rigorous cubical multivalued map based on a function that computes the image of intervals using interval arithmetic.

The "mapcomp" class must have a static method called "compute" which is used to compute the map in interval arithmetic (see the sample class IdentityMap for details).

Definition at line 115 of file conindex.h.


Constructor & Destructor Documentation

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

The default constructor.

Definition at line 198 of file conindex.h.

template<class mapcomp, class cubetype, class cubsettype>
MapComputation< mapcomp, cubetype, cubsettype >::~MapComputation (  )  [inline]

The destructor.

Definition at line 207 of file conindex.h.

References MapComputation< mapcomp, cubetype, cubsettype >::cache, MapComputation< mapcomp, cubetype, cubsettype >::computed, MapComputation< mapcomp, cubetype, cubsettype >::leftcache, and MapComputation< mapcomp, cubetype, cubsettype >::rightcache.


Member Function Documentation

template<class mapcomp, class cubetype, class cubsettype>
int MapComputation< mapcomp, cubetype, cubsettype >::operator() ( const cubetype &  q,
cubsettype &  img 
) const [inline]

The operator for computing the image of a box in terms of a set of boxes (a multivalued cubical map).

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 coefficients. Note: 'intwidth' does not have to be a power of 2.

Definition at line 284 of file conindex.h.

References MapComputation< mapcomp, cubetype, cubsettype >::cache, MapComputation< mapcomp, cubetype, cubsettype >::cacheused, MapComputation< mapcomp, cubetype, cubsettype >::compute(), MapComputation< mapcomp, cubetype, cubsettype >::computed, MapComputation< mapcomp, cubetype, cubsettype >::cropped, MapComputation< mapcomp, cubetype, cubsettype >::cropping, MapComputation< mapcomp, cubetype, cubsettype >::intwidth, MapComputation< mapcomp, cubetype, cubsettype >::leftcache, custom::limits2d::maxImageDiameter, custom::limits2d::maxImageVolume, MapComputation< mapcomp, cubetype, cubsettype >::maxImgDiam, MapComputation< mapcomp, cubetype, cubsettype >::maxImgVol, and MapComputation< mapcomp, cubetype, cubsettype >::rightcache.

template<class mapcomp, class cubetype, class cubsettype>
int MapComputation< mapcomp, cubetype, cubsettype >::compute ( const typename cubetype::CoordType *  coord,
int  dim,
typename cubetype::CoordType *  left,
typename cubetype::CoordType *  right 
) const [inline, private]

Use interval arithmetic to compute the coordinate scope.

Note: 'coord' may point to the same location as 'left' or 'right'.

Definition at line 234 of file conindex.h.

References MapComputation< mapcomp, cubetype, cubsettype >::intwidth, MapComputation< mapcomp, cubetype, cubsettype >::M, MapComputation< mapcomp, cubetype, cubsettype >::offset, and MapComputation< mapcomp, cubetype, cubsettype >::width.

Referenced by MapComputation< mapcomp, cubetype, cubsettype >::operator()().


Member Data Documentation

template<class mapcomp, class cubetype, class cubsettype = chomp::homology::hashedset<cubetype>>
bool MapComputation< mapcomp, cubetype, cubsettype >::cache

Using cache for the map.

Definition at line 134 of file conindex.h.

Referenced by MapComputation< mapcomp, cubetype, cubsettype >::operator()(), and MapComputation< mapcomp, cubetype, cubsettype >::~MapComputation().

template<class mapcomp, class cubetype, class cubsettype = chomp::homology::hashedset<cubetype>>
bool MapComputation< mapcomp, cubetype, cubsettype >::cropping [mutable]

Is cropping of images to the designated box in effect?

Definition at line 137 of file conindex.h.

Referenced by MapComputation< mapcomp, cubetype, cubsettype >::operator()().

template<class mapcomp, class cubetype, class cubsettype = chomp::homology::hashedset<cubetype>>
bool MapComputation< mapcomp, cubetype, cubsettype >::cropped [mutable]

Was the image cropped at least once? Reset this variable to "false" in order to detect image cropping again.

Definition at line 141 of file conindex.h.

Referenced by MapComputation< mapcomp, cubetype, cubsettype >::operator()().

template<class mapcomp, class cubetype, class cubsettype = chomp::homology::hashedset<cubetype>>
int MapComputation< mapcomp, cubetype, cubsettype >::maxImgDiam [inline, static]

The maximal image diameter encountered so far.

Set this variable to zero to gather meaningful information.

Definition at line 145 of file conindex.h.

Referenced by MapComputation< mapcomp, cubetype, cubsettype >::operator()(), Worker::Process(), and runSingeComp().

template<class mapcomp, class cubetype, class cubsettype = chomp::homology::hashedset<cubetype>>
int MapComputation< mapcomp, cubetype, cubsettype >::maxImgVol [inline, static]

The maximal image volume encountered so far.

Set this variable to zero to gather meaningful information.

Definition at line 149 of file conindex.h.

Referenced by MapComputation< mapcomp, cubetype, cubsettype >::operator()(), Worker::Process(), and runSingeComp().

template<class mapcomp, class cubetype, class cubsettype = chomp::homology::hashedset<cubetype>>
int MapComputation< mapcomp, cubetype, cubsettype >::cacheused [mutable, private]

The number of times the cache was used successfully.

Definition at line 153 of file conindex.h.

Referenced by MapComputation< mapcomp, cubetype, cubsettype >::operator()().

template<class mapcomp, class cubetype, class cubsettype = chomp::homology::hashedset<cubetype>>
const double* MapComputation< mapcomp, cubetype, cubsettype >::offset [private]

The offset of the cubical rectangle.

Definition at line 156 of file conindex.h.

Referenced by MapComputation< mapcomp, cubetype, cubsettype >::compute().

template<class mapcomp, class cubetype, class cubsettype = chomp::homology::hashedset<cubetype>>
const double* MapComputation< mapcomp, cubetype, cubsettype >::width [private]

The width of the rectangle in each direction.

Definition at line 159 of file conindex.h.

Referenced by MapComputation< mapcomp, cubetype, cubsettype >::compute().

template<class mapcomp, class cubetype, class cubsettype = chomp::homology::hashedset<cubetype>>
int MapComputation< mapcomp, cubetype, cubsettype >::intwidth [private]

The width of the rectangle in terms of the number of cubes.

Definition at line 162 of file conindex.h.

Referenced by MapComputation< mapcomp, cubetype, cubsettype >::compute(), and MapComputation< mapcomp, cubetype, cubsettype >::operator()().

template<class mapcomp, class cubetype, class cubsettype = chomp::homology::hashedset<cubetype>>
const mapcomp& MapComputation< mapcomp, cubetype, cubsettype >::M [private]

The map used to compute an interval enclosure of the image of an interval box.

Definition at line 166 of file conindex.h.

Referenced by MapComputation< mapcomp, cubetype, cubsettype >::compute().

template<class mapcomp, class cubetype, class cubsettype = chomp::homology::hashedset<cubetype>>
cubsettype MapComputation< mapcomp, cubetype, cubsettype >::computed [mutable, private]

The cache domain.

Definition at line 169 of file conindex.h.

Referenced by MapComputation< mapcomp, cubetype, cubsettype >::operator()(), and MapComputation< mapcomp, cubetype, cubsettype >::~MapComputation().

template<class mapcomp, class cubetype, class cubsettype = chomp::homology::hashedset<cubetype>>
chomp::homology::multitable<cubetype> MapComputation< mapcomp, cubetype, cubsettype >::leftcache [mutable, private]

The cache left vertex.

Definition at line 172 of file conindex.h.

Referenced by MapComputation< mapcomp, cubetype, cubsettype >::operator()(), and MapComputation< mapcomp, cubetype, cubsettype >::~MapComputation().

template<class mapcomp, class cubetype, class cubsettype = chomp::homology::hashedset<cubetype>>
chomp::homology::multitable<cubetype> MapComputation< mapcomp, cubetype, cubsettype >::rightcache [mutable, private]

The cache right vertex.

Definition at line 175 of file conindex.h.

Referenced by MapComputation< mapcomp, cubetype, cubsettype >::operator()(), and MapComputation< mapcomp, cubetype, cubsettype >::~MapComputation().


The documentation for this class was generated from the following file:
Generated on Sun Mar 28 17:47:58 2010 for The Conley-Morse Graphs Software by  doxygen 1.5.3