invpart.h File Reference

Computation of the invariant part of a set of cubes. More...

#include "chomp/system/textfile.h"
#include "chomp/cubes/cube.h"
#include "chomp/struct/digraph.h"
#include "chomp/struct/multitab.h"
#include "config.h"
#include "typedefs.h"
#include "mapgraph.h"

Go to the source code of this file.

Functions

template<class typeCubes>
void invariantPart (typeCubes &X, const chomp::homology::diGraph<> &g, chomp::homology::diGraph<> *gInv=0)
 Computes X := Inv (X) using the algorithm by Bill Kalies and Hyunju Ban.
template<class typeCubes, class theCubMapType>
int invariantPart (typeCubes &X, const theCubMapType &theCubMap)
 Computes X := Inv (X) using the algorithm by Bill Kalies and Hyunju Ban.
bool checkEmptyInv (const spcCubes &X, int subdivDepth, const double *offset, const double *width, const theMapType &theMap, const theCubMapType &theCubMap0, const theCubMapType &theCubMap1)
 Verifies whether the invariant part of the given set is empty by applying a limited number of refinements until the set is empty or the number of cubes becomes too large.


Detailed Description

Computation of the invariant part of a set of cubes.

This file contains the definition of a function for the computation of the invariant part of a set of cubes with respect to a given multivalued map. It also contains the procedure for verifying whether the invariant part is nonempty after subdividing the set of cubes a few times.

Author:
Pawel Pilarczyk

Definition in file invpart.h.


Function Documentation

bool checkEmptyInv ( const spcCubes X,
int  subdivDepth,
const double *  offset,
const double *  width,
const theMapType theMap,
const theCubMapType theCubMap0,
const theCubMapType theCubMap1 
) [inline]

Verifies whether the invariant part of the given set is empty by applying a limited number of refinements until the set is empty or the number of cubes becomes too large.

Returns "true" if it is empty, "false" if this could not be proved.

Definition at line 165 of file invpart.h.

References invariantPart(), custom::limits2d::maxRefineSize0, custom::limits2d::maxRefineSize1, custom::limits2d::refineDepth, and subdivideCubes().

Referenced by invMorseDec().

template<class typeCubes, class theCubMapType>
int invariantPart ( typeCubes &  X,
const theCubMapType theCubMap 
) [inline]

Computes X := Inv (X) using the algorithm by Bill Kalies and Hyunju Ban.

Uses the combinatorial cubical multivalued map provided. Returns 0 on success or -1 if failed. Shows messages to 'sbug'.

Definition at line 127 of file invpart.h.

References computeMapGraph(), and invariantPart().

template<class typeCubes>
void invariantPart ( typeCubes &  X,
const chomp::homology::diGraph<> &  g,
chomp::homology::diGraph<> *  gInv = 0 
) [inline]

Computes X := Inv (X) using the algorithm by Bill Kalies and Hyunju Ban.

If the graph 'gInv' is given, then the resulting graph is created, otherwise only the set X is modified.

Definition at line 60 of file invpart.h.

Referenced by checkEmptyInv(), computeConleyIndex(), computeMorseDecomposition(), invariantPart(), and matchMorseSets().


Generated on Sun Mar 28 17:47:58 2010 for The Conley-Morse Graphs Software by  doxygen 1.5.3