The Conley-Morse Graphs Software
|
Matching Morse decompositions. More...
#include <vector>
#include <algorithm>
#include <new>
#include "chomp/system/config.h"
#include "chomp/system/textfile.h"
#include "chomp/struct/digraph.h"
#include "chomp/struct/flatmatr.h"
#include "chomp/struct/autoarray.h"
#include "config.h"
#include "typedefs.h"
#include "typedyns.h"
#include "matcharr.h"
Go to the source code of this file.
Functions | |
template<class typeCubes > | |
bool | intersect (const typeCubes &X, const typeCubes &Y) |
Verifies whether two sets of cubes intersect each other. More... | |
template<class typeCubes > | |
bool | intersectSub (const typeCubes &fine, const typeCubes &coarse) |
Verifies whether two sets of cubes intersect each other. More... | |
bool | matchMorseSets (const theMorseDecompositionType &morseDecM, const std::vector< int > &wrongIndM, const theCubMapType &theCubMap1M, std::vector< spcCubes > &refinedM, const theMorseDecompositionType &morseDecN, const std::vector< int > &wrongIndN, const theCubMapType &theCubMap1N, std::vector< spcCubes > &refinedN, bool matchOrdering) |
Verifies if the two given Morse decompositions are equivalent by matching Morse sets which intersect each other. More... | |
void | matchMorseDecompositions (const parCubes ¶mBoxes, const std::vector< theMorseDecompositionType * > &morseDec, const std::vector< theCubMapType * > &theCubMap1, const std::vector< std::vector< int > > &wrongIndices, const parCoord *parLeft, const parCoord *parRight, std::vector< std::vector< parCube > > &matchClasses) |
Matches Morse decompositions corresponding to parameter cubes in the entire range. More... | |
Matching Morse decompositions.
This file contains the definitions of a procedure for matching Morse decompositions. A relation between the sets of Morse sets for two Morse decompositions is determined by checking which Morse sets intersect their counterparts. If this relation is a bijection then the edges in Morse graphs is also verified.
Definition in file matchdec.h.
|
inline |
Verifies whether two sets of cubes intersect each other.
Returns "true" if they share at least one common cube or "false" otherwise.
Definition at line 66 of file matchdec.h.
Referenced by matchMorseSets().
|
inline |
Verifies whether two sets of cubes intersect each other.
The first set is with respect to a twice finer grid that the other one. Returns "true" if they share at least one common cube or "false" otherwise.
Definition at line 89 of file matchdec.h.
Referenced by matchMorseSets().
|
inline |
Matches Morse decompositions corresponding to parameter cubes in the entire range.
The set of cubes is used to determine the numbers in the indexing of Morse decompositions.
Definition at line 382 of file matchdec.h.
References custom::difference::compareMorseOrdering, matchMorseSets(), and custom::difference::paramDim.
Referenced by Worker::Process().
|
inline |
Verifies if the two given Morse decompositions are equivalent by matching Morse sets which intersect each other.
If requested, matches also the ordering in the Morse decomposition.
Definition at line 128 of file matchdec.h.
References intersect(), intersectSub(), invariantPart(), custom::difference::maxRefineSize0, and subdivideCubes().
Referenced by matchMorseDecompositions().