MorseDecomposition< mapcomp, cubetype, cubsettype > Class Template Reference

The Morse decoposition class. More...

#include <morsedec.h>

List of all members.

Public Types

typedef mapcomp MapCompType
 The type of the map computation class.
typedef cubetype CubeType
 The type of a single cube.
typedef cubsettype CubSetType
 The type of a set of cubes used to store each Morse set.
typedef IndexPair
< mapcomp, cubetype,
cubsettype > 
PairType
 The type of the index pair.
typedef ConleyIndex
< PairType
IndexType
 The type of the Conley index.

Public Member Functions

 MorseDecomposition (const mapcomp &_M=mapcomp())
 The default constructor.
 ~MorseDecomposition ()
 The destructor.
 MorseDecomposition (const MorseDecomposition &m)
 The copy constructor.
MorseDecomposition
< mapcomp, cubetype,
cubsettype > & 
operator= (const MorseDecomposition< mapcomp, cubetype, cubsettype > &m)
 The assignment operator.
int setnumber (int n)
 Changes (increases or decreases) the number of Morse sets.
int add (int n, const cubetype &q)
 Adds a cube to the given Morse set and increases the number of Morse sets if necessary.
int count () const
 Returns the number of Morse sets.
const cubsettype & operator[] (int n) const
 Returns the n-th Morse set.
int distance (int n, int m) const
 Returns the approximate distance between the two Morse sets.
int addconn (int n, int m)
 Adds a connection between the given Morse sets without adding any cubes to this connection (like in a direct connection).
int addconn (int n, int m, const cubetype &q)
 Adds a cube to the connecting orbit between the given Morse sets.
bool connected (int n, int m) const
 Checks whether there exists a connection between given sets.
const cubsettype & connection (int n, int m) const
 Returns the connection between the given sets.
int distance (int n, int m, int k) const
 Returns the approximate maximal distance of a cube in the orbit that connects the sets n and m (in either direction) from the k-th Morse set, i.e., how far the orbit is from the set.
int conndistance (int n, int m) const
 Returns the appropriate maximal distance between cubes that are contained in the Morse set n and the connecting orbit n-m or m-n.
int makegraph (chomp::homology::diGraph<> &g) const
 Creates a graph representation of the Morse decomposition.
const IndexTypecompute (int n)
 Computes the Conley index of the given Morse set.
int compute ()
 Computes the Conley indices of all the Morse sets.
bool computed (int n) const
 Verifies if the Conley index for the given Morse set has been already computed.
const IndexTypeindex (int n) const
 Retrieves the previously computed Conley index of the given Morse set.
const IndexTypesetindex (int n, const typename MorseDecomposition< mapcomp, cubetype, cubsettype >::IndexType &ind)
 Sets the index of the given Morse set to the apriori known one.
bool trivial (int n) const
 Returns true if the Conley index of the given Morse set is trivial, and false if either nontrivial or not yet computed.
void intersection (const MorseDecomposition< mapcomp, cubetype, cubsettype > &m, const MorseDecomposition< mapcomp, cubetype, cubsettype > &n)
 Computes the set-wise intersection of two Morse decompositions.
int join (int n, int m)
 Joins the two given Morse sets.
int passthru (int n)
 Make connecting orbits pass through the given Morse set, because its invariant part is in fact empty.
int jointrivial (int maxsetsize, int maxconnsize, int maxdistance)
 Joins small Morse sets with trivial indices with Morse sets whose indices are nontrivial.
int savetofiles (const char *prefix=0)
 Save the Morse sets and connecting orbits to files.
int loadfromfiles (const char *prefix=0)
 Load the Morse sets and connecting orbits from files.

Public Attributes

const mapcomp & M
 The map computation class.

Private Types

typedef
chomp::homology::mvmap
< cubetype, cubetype > 
cubmaptype
 The type of a combinatorial cubical multivalued map.

Private Member Functions

void deleteall (int firstnumber, int lastnumber)
 Release the memory (used in the destructor and copy constructor).
void copyall (const MorseDecomposition &m)
 Copy all the data (used in the copy constructor and operator =).
void addone ()
 Add one Morse set and initialize its data.
bool adjacent (int n, int m, int margin=0) const
 Verifies if two Morse sets are adjacent to each other.

Static Private Member Functions

static int cubsetdistance (const cubsettype &X, const cubsettype &Y, bool minimum)
 Returns the approximate distance between the two cubical sets.

Private Attributes

int nsets
 The number of Morse sets.
chomp::homology::multitable
< cubsettype * > 
sets
 The Morse sets.
chomp::homology::multitable
< IndexType * > 
indices
 The Conley indices of the Morse sets.
chomp::homology::multitable
< int > 
nontrivial
 The table that stores the information on whether the indices are trivial or not: -1 = unknown, 0 = trivial, 1 = nontrivial.
chomp::homology::multitable
< chomp::homology::multitable
< cubsettype * > > 
conn
 Connecting orbits from one set to another.
chomp::homology::multitable
< chomp::homology::multitable
< int > > 
dist
 Tabulated distances between the Morse sets.
chomp::homology::multitable
< chomp::homology::multitable
< int > > 
distconn
 Tabulated values of the function "conndistance".


Detailed Description

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

The Morse decoposition class.

This is a template whose parameters define a class used to compute the combinatorial cubical multivalued map on Morse sets, a class which corresponds to a single cube, and a class which is used to keep sets of cubes (the hashed set by default).

Definition at line 67 of file morsedec.h.


Member Typedef Documentation

template<class mapcomp, class cubetype, class cubsettype = chomp::homology::hashedset<cubetype>>
typedef chomp::homology::mvmap<cubetype,cubetype> MorseDecomposition< mapcomp, cubetype, cubsettype >::cubmaptype [private]

The type of a combinatorial cubical multivalued map.

Definition at line 70 of file morsedec.h.

template<class mapcomp, class cubetype, class cubsettype = chomp::homology::hashedset<cubetype>>
typedef mapcomp MorseDecomposition< mapcomp, cubetype, cubsettype >::MapCompType

The type of the map computation class.

Definition at line 73 of file morsedec.h.

template<class mapcomp, class cubetype, class cubsettype = chomp::homology::hashedset<cubetype>>
typedef cubetype MorseDecomposition< mapcomp, cubetype, cubsettype >::CubeType

The type of a single cube.

Definition at line 76 of file morsedec.h.

template<class mapcomp, class cubetype, class cubsettype = chomp::homology::hashedset<cubetype>>
typedef cubsettype MorseDecomposition< mapcomp, cubetype, cubsettype >::CubSetType

The type of a set of cubes used to store each Morse set.

Definition at line 79 of file morsedec.h.

template<class mapcomp, class cubetype, class cubsettype = chomp::homology::hashedset<cubetype>>
typedef IndexPair<mapcomp,cubetype,cubsettype> MorseDecomposition< mapcomp, cubetype, cubsettype >::PairType

The type of the index pair.

Definition at line 82 of file morsedec.h.

template<class mapcomp, class cubetype, class cubsettype = chomp::homology::hashedset<cubetype>>
typedef ConleyIndex<PairType> MorseDecomposition< mapcomp, cubetype, cubsettype >::IndexType

The type of the Conley index.

Definition at line 85 of file morsedec.h.


Constructor & Destructor Documentation

template<class mapcomp, class cubetype, class cubsettype>
MorseDecomposition< mapcomp, cubetype, cubsettype >::MorseDecomposition ( const mapcomp &  _M = mapcomp ()  )  [inline]

The default constructor.

Definition at line 288 of file morsedec.h.

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

The destructor.

Definition at line 383 of file morsedec.h.

template<class mapcomp, class cubetype, class cubsettype>
MorseDecomposition< mapcomp, cubetype, cubsettype >::MorseDecomposition ( const MorseDecomposition< mapcomp, cubetype, cubsettype > &  m  )  [inline]

The copy constructor.

Definition at line 430 of file morsedec.h.


Member Function Documentation

template<class mapcomp, class cubetype, class cubsettype>
MorseDecomposition< mapcomp, cubetype, cubsettype > & MorseDecomposition< mapcomp, cubetype, cubsettype >::operator= ( const MorseDecomposition< mapcomp, cubetype, cubsettype > &  m  )  [inline]

The assignment operator.

Definition at line 439 of file morsedec.h.

template<class mapcomp, class cubetype, class cubsettype>
int MorseDecomposition< mapcomp, cubetype, cubsettype >::setnumber ( int  n  )  [inline]

Changes (increases or decreases) the number of Morse sets.

Definition at line 613 of file morsedec.h.

References MorseDecomposition< mapcomp, cubetype, cubsettype >::addone(), MorseDecomposition< mapcomp, cubetype, cubsettype >::deleteall(), and MorseDecomposition< mapcomp, cubetype, cubsettype >::nsets.

template<class mapcomp, class cubetype, class cubsettype>
int MorseDecomposition< mapcomp, cubetype, cubsettype >::add ( int  n,
const cubetype &  q 
) [inline]

Adds a cube to the given Morse set and increases the number of Morse sets if necessary.

Definition at line 626 of file morsedec.h.

References MorseDecomposition< mapcomp, cubetype, cubsettype >::addone(), MorseDecomposition< mapcomp, cubetype, cubsettype >::nsets, and MorseDecomposition< mapcomp, cubetype, cubsettype >::sets.

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

template<class mapcomp, class cubetype, class cubsettype>
int MorseDecomposition< mapcomp, cubetype, cubsettype >::count (  )  const [inline]

Returns the number of Morse sets.

Definition at line 666 of file morsedec.h.

References MorseDecomposition< mapcomp, cubetype, cubsettype >::nsets.

template<class mapcomp, class cubetype, class cubsettype>
const cubsettype & MorseDecomposition< mapcomp, cubetype, cubsettype >::operator[] ( int  n  )  const [inline]

Returns the n-th Morse set.

Throws an exception in case of a wrong number.

Definition at line 673 of file morsedec.h.

References MorseDecomposition< mapcomp, cubetype, cubsettype >::nsets, and MorseDecomposition< mapcomp, cubetype, cubsettype >::sets.

template<class mapcomp, class cubetype, class cubsettype>
int MorseDecomposition< mapcomp, cubetype, cubsettype >::distance ( int  n,
int  m 
) const [inline]

Returns the approximate distance between the two Morse sets.

Warning: This computation may take some time for large sets. Note: The values returned by this function are tabulated, and are not updated when the Morse sets are modified with the 'add' function. Call with (-1,-1) to reset the tabulation.

Definition at line 682 of file morsedec.h.

References MorseDecomposition< mapcomp, cubetype, cubsettype >::cubsetdistance(), MorseDecomposition< mapcomp, cubetype, cubsettype >::dist, MorseDecomposition< mapcomp, cubetype, cubsettype >::nsets, and MorseDecomposition< mapcomp, cubetype, cubsettype >::sets.

Referenced by MorseDecomposition< mapcomp, cubetype, cubsettype >::conndistance(), and MorseDecomposition< mapcomp, cubetype, cubsettype >::jointrivial().

template<class mapcomp, class cubetype, class cubsettype>
int MorseDecomposition< mapcomp, cubetype, cubsettype >::addconn ( int  n,
int  m 
) [inline]

Adds a connection between the given Morse sets without adding any cubes to this connection (like in a direct connection).

Definition at line 640 of file morsedec.h.

References MorseDecomposition< mapcomp, cubetype, cubsettype >::addone(), MorseDecomposition< mapcomp, cubetype, cubsettype >::conn, and MorseDecomposition< mapcomp, cubetype, cubsettype >::nsets.

template<class mapcomp, class cubetype, class cubsettype>
int MorseDecomposition< mapcomp, cubetype, cubsettype >::addconn ( int  n,
int  m,
const cubetype &  q 
) [inline]

Adds a cube to the connecting orbit between the given Morse sets.

Definition at line 653 of file morsedec.h.

References MorseDecomposition< mapcomp, cubetype, cubsettype >::addone(), MorseDecomposition< mapcomp, cubetype, cubsettype >::conn, and MorseDecomposition< mapcomp, cubetype, cubsettype >::nsets.

template<class mapcomp, class cubetype, class cubsettype>
bool MorseDecomposition< mapcomp, cubetype, cubsettype >::connected ( int  n,
int  m 
) const [inline]

Checks whether there exists a connection between given sets.

Returns true if yes, false if no or wrong numbers.

Definition at line 739 of file morsedec.h.

References MorseDecomposition< mapcomp, cubetype, cubsettype >::conn, and MorseDecomposition< mapcomp, cubetype, cubsettype >::nsets.

template<class mapcomp, class cubetype, class cubsettype>
const cubsettype & MorseDecomposition< mapcomp, cubetype, cubsettype >::connection ( int  n,
int  m 
) const [inline]

Returns the connection between the given sets.

Throws an exception if there is no connection or wrong numbers.

Definition at line 747 of file morsedec.h.

References MorseDecomposition< mapcomp, cubetype, cubsettype >::conn, and MorseDecomposition< mapcomp, cubetype, cubsettype >::nsets.

template<class mapcomp, class cubetype, class cubsettype>
int MorseDecomposition< mapcomp, cubetype, cubsettype >::distance ( int  n,
int  m,
int  k 
) const [inline]

Returns the approximate maximal distance of a cube in the orbit that connects the sets n and m (in either direction) from the k-th Morse set, i.e., how far the orbit is from the set.

Note: This computation may take some time for large sets.

Definition at line 757 of file morsedec.h.

References MorseDecomposition< mapcomp, cubetype, cubsettype >::conn, MorseDecomposition< mapcomp, cubetype, cubsettype >::cubsetdistance(), MorseDecomposition< mapcomp, cubetype, cubsettype >::nsets, and MorseDecomposition< mapcomp, cubetype, cubsettype >::sets.

template<class mapcomp, class cubetype, class cubsettype>
int MorseDecomposition< mapcomp, cubetype, cubsettype >::conndistance ( int  n,
int  m 
) const [inline]

Returns the appropriate maximal distance between cubes that are contained in the Morse set n and the connecting orbit n-m or m-n.

Note: The values returned by this function are tabulated, and are not updated when the Morse sets are modified with the 'add' function or when the connecting orbits are modified with the 'addconn' function. Call with (-1,-1) to reset the tabulation.

Definition at line 770 of file morsedec.h.

References MorseDecomposition< mapcomp, cubetype, cubsettype >::distance(), MorseDecomposition< mapcomp, cubetype, cubsettype >::distconn, and MorseDecomposition< mapcomp, cubetype, cubsettype >::nsets.

Referenced by MorseDecomposition< mapcomp, cubetype, cubsettype >::jointrivial().

template<class mapcomp, class cubetype, class cubsettype>
int MorseDecomposition< mapcomp, cubetype, cubsettype >::makegraph ( chomp::homology::diGraph<> &  g  )  const [inline]

Creates a graph representation of the Morse decomposition.

Each Morse set corresponds to a vertex, and each connecting orbit gives rise to a corresponding edge. The graph given as an argument must be initially empty.

Definition at line 813 of file morsedec.h.

References MorseDecomposition< mapcomp, cubetype, cubsettype >::conn, and MorseDecomposition< mapcomp, cubetype, cubsettype >::nsets.

template<class mapcomp, class cubetype, class cubsettype>
const MorseDecomposition< mapcomp, cubetype, cubsettype >::IndexType & MorseDecomposition< mapcomp, cubetype, cubsettype >::compute ( int  n  )  [inline]

Computes the Conley index of the given Morse set.

Definition at line 832 of file morsedec.h.

References MorseDecomposition< mapcomp, cubetype, cubsettype >::add(), MorseDecomposition< mapcomp, cubetype, cubsettype >::compute(), MorseDecomposition< mapcomp, cubetype, cubsettype >::indices, MorseDecomposition< mapcomp, cubetype, cubsettype >::M, MorseDecomposition< mapcomp, cubetype, cubsettype >::nontrivial, MorseDecomposition< mapcomp, cubetype, cubsettype >::nsets, MorseDecomposition< mapcomp, cubetype, cubsettype >::sets, and MorseDecomposition< mapcomp, cubetype, cubsettype >::trivial().

template<class mapcomp, class cubetype, class cubsettype>
int MorseDecomposition< mapcomp, cubetype, cubsettype >::compute (  )  [inline]

Computes the Conley indices of all the Morse sets.

Definition at line 865 of file morsedec.h.

References MorseDecomposition< mapcomp, cubetype, cubsettype >::nsets.

Referenced by MorseDecomposition< mapcomp, cubetype, cubsettype >::compute(), and MorseDecomposition< mapcomp, cubetype, cubsettype >::jointrivial().

template<class mapcomp, class cubetype, class cubsettype>
bool MorseDecomposition< mapcomp, cubetype, cubsettype >::computed ( int  n  )  const [inline]

Verifies if the Conley index for the given Morse set has been already computed.

Definition at line 873 of file morsedec.h.

References MorseDecomposition< mapcomp, cubetype, cubsettype >::indices, and MorseDecomposition< mapcomp, cubetype, cubsettype >::nsets.

template<class mapcomp, class cubetype, class cubsettype>
const MorseDecomposition< mapcomp, cubetype, cubsettype >::IndexType & MorseDecomposition< mapcomp, cubetype, cubsettype >::index ( int  n  )  const [inline]

Retrieves the previously computed Conley index of the given Morse set.

Throws an exception if the index has not yet been computed. Note that if the Morse set is chaned, then its index should be computed again using one of the functions above.

Definition at line 882 of file morsedec.h.

References MorseDecomposition< mapcomp, cubetype, cubsettype >::indices, and MorseDecomposition< mapcomp, cubetype, cubsettype >::nsets.

template<class mapcomp, class cubetype, class cubsettype>
const MorseDecomposition< mapcomp, cubetype, cubsettype >::IndexType & MorseDecomposition< mapcomp, cubetype, cubsettype >::setindex ( int  n,
const typename MorseDecomposition< mapcomp, cubetype, cubsettype >::IndexType ind 
) [inline]

Sets the index of the given Morse set to the apriori known one.

Does not compute it, but verifies if it is nontrivial.

Definition at line 892 of file morsedec.h.

References MorseDecomposition< mapcomp, cubetype, cubsettype >::indices, MorseDecomposition< mapcomp, cubetype, cubsettype >::nontrivial, MorseDecomposition< mapcomp, cubetype, cubsettype >::nsets, and MorseDecomposition< mapcomp, cubetype, cubsettype >::trivial().

template<class mapcomp, class cubetype, class cubsettype>
bool MorseDecomposition< mapcomp, cubetype, cubsettype >::trivial ( int  n  )  const [inline]

Returns true if the Conley index of the given Morse set is trivial, and false if either nontrivial or not yet computed.

Definition at line 909 of file morsedec.h.

References MorseDecomposition< mapcomp, cubetype, cubsettype >::nontrivial, and MorseDecomposition< mapcomp, cubetype, cubsettype >::nsets.

Referenced by MorseDecomposition< mapcomp, cubetype, cubsettype >::compute(), and MorseDecomposition< mapcomp, cubetype, cubsettype >::setindex().

template<class mapcomp, class cubetype, class cubsettype>
void MorseDecomposition< mapcomp, cubetype, cubsettype >::intersection ( const MorseDecomposition< mapcomp, cubetype, cubsettype > &  m,
const MorseDecomposition< mapcomp, cubetype, cubsettype > &  n 
) [inline]

Computes the set-wise intersection of two Morse decompositions.

The Morse decomposition must be initially empty and different from the objects passed as arguments.

Definition at line 918 of file morsedec.h.

References MorseDecomposition< mapcomp, cubetype, cubsettype >::addone(), MorseDecomposition< mapcomp, cubetype, cubsettype >::nsets, and MorseDecomposition< mapcomp, cubetype, cubsettype >::sets.

template<class mapcomp, class cubetype, class cubsettype>
int MorseDecomposition< mapcomp, cubetype, cubsettype >::join ( int  n,
int  m 
) [inline]

Joins the two given Morse sets.

Updates the connecting orbits. Resets the Conley index. The new Morse set replaces the n-th one, and the numbers of Morse sets beyond the m-th one are shifted downwards.

Definition at line 940 of file morsedec.h.

References MorseDecomposition< mapcomp, cubetype, cubsettype >::conn, MorseDecomposition< mapcomp, cubetype, cubsettype >::deleteall(), MorseDecomposition< mapcomp, cubetype, cubsettype >::dist, MorseDecomposition< mapcomp, cubetype, cubsettype >::distconn, MorseDecomposition< mapcomp, cubetype, cubsettype >::indices, MorseDecomposition< mapcomp, cubetype, cubsettype >::nontrivial, MorseDecomposition< mapcomp, cubetype, cubsettype >::nsets, and MorseDecomposition< mapcomp, cubetype, cubsettype >::sets.

Referenced by MorseDecomposition< mapcomp, cubetype, cubsettype >::jointrivial().

template<class mapcomp, class cubetype, class cubsettype>
int MorseDecomposition< mapcomp, cubetype, cubsettype >::passthru ( int  n  )  [inline]

Make connecting orbits pass through the given Morse set, because its invariant part is in fact empty.

The Morse set is deleted and its contents is included in connecting orbits.

Definition at line 1017 of file morsedec.h.

References MorseDecomposition< mapcomp, cubetype, cubsettype >::conn, MorseDecomposition< mapcomp, cubetype, cubsettype >::deleteall(), MorseDecomposition< mapcomp, cubetype, cubsettype >::distconn, MorseDecomposition< mapcomp, cubetype, cubsettype >::nsets, and MorseDecomposition< mapcomp, cubetype, cubsettype >::sets.

template<class mapcomp, class cubetype, class cubsettype>
int MorseDecomposition< mapcomp, cubetype, cubsettype >::jointrivial ( int  maxsetsize,
int  maxconnsize,
int  maxdistance 
) [inline]

Joins small Morse sets with trivial indices with Morse sets whose indices are nontrivial.

Only sets whose size, as well as the size of the connecting orbit is below the given limits are joined, provided their distance is also limited.

Definition at line 1080 of file morsedec.h.

References MorseDecomposition< mapcomp, cubetype, cubsettype >::compute(), MorseDecomposition< mapcomp, cubetype, cubsettype >::conn, MorseDecomposition< mapcomp, cubetype, cubsettype >::conndistance(), MorseDecomposition< mapcomp, cubetype, cubsettype >::dist, MorseDecomposition< mapcomp, cubetype, cubsettype >::distance(), MorseDecomposition< mapcomp, cubetype, cubsettype >::join(), MorseDecomposition< mapcomp, cubetype, cubsettype >::nontrivial, MorseDecomposition< mapcomp, cubetype, cubsettype >::nsets, and MorseDecomposition< mapcomp, cubetype, cubsettype >::sets.

template<class mapcomp, class cubetype, class cubsettype>
int MorseDecomposition< mapcomp, cubetype, cubsettype >::savetofiles ( const char *  prefix = 0  )  [inline]

Save the Morse sets and connecting orbits to files.

Set numbers are attached to the given prefix. Connections are numbered N-M.

Definition at line 1266 of file morsedec.h.

References MorseDecomposition< mapcomp, cubetype, cubsettype >::conn, MorseDecomposition< mapcomp, cubetype, cubsettype >::indices, MorseDecomposition< mapcomp, cubetype, cubsettype >::nontrivial, MorseDecomposition< mapcomp, cubetype, cubsettype >::nsets, and MorseDecomposition< mapcomp, cubetype, cubsettype >::sets.

template<class mapcomp, class cubetype, class cubsettype>
int MorseDecomposition< mapcomp, cubetype, cubsettype >::loadfromfiles ( const char *  prefix = 0  )  [inline]

Load the Morse sets and connecting orbits from files.

Definition at line 1331 of file morsedec.h.

References MorseDecomposition< mapcomp, cubetype, cubsettype >::addone(), MorseDecomposition< mapcomp, cubetype, cubsettype >::conn, MorseDecomposition< mapcomp, cubetype, cubsettype >::indices, MorseDecomposition< mapcomp, cubetype, cubsettype >::nontrivial, MorseDecomposition< mapcomp, cubetype, cubsettype >::nsets, and MorseDecomposition< mapcomp, cubetype, cubsettype >::sets.

template<class mapcomp, class cubetype, class cubsettype>
void MorseDecomposition< mapcomp, cubetype, cubsettype >::deleteall ( int  firstnumber,
int  lastnumber 
) [inline, private]

Release the memory (used in the destructor and copy constructor).

Optionally, delete only Morse decompositions data for Morse sets whose numbers are greater or equal the given number.

Definition at line 295 of file morsedec.h.

Referenced by MorseDecomposition< mapcomp, cubetype, cubsettype >::join(), MorseDecomposition< mapcomp, cubetype, cubsettype >::passthru(), and MorseDecomposition< mapcomp, cubetype, cubsettype >::setnumber().

template<class mapcomp, class cubetype, class cubsettype>
void MorseDecomposition< mapcomp, cubetype, cubsettype >::copyall ( const MorseDecomposition< mapcomp, cubetype, cubsettype > &  m  )  [inline, private]

Copy all the data (used in the copy constructor and operator =).

Definition at line 391 of file morsedec.h.

template<class mapcomp, class cubetype, class cubsettype>
void MorseDecomposition< mapcomp, cubetype, cubsettype >::addone (  )  [inline, private]

Add one Morse set and initialize its data.

Definition at line 455 of file morsedec.h.

References MorseDecomposition< mapcomp, cubetype, cubsettype >::conn, MorseDecomposition< mapcomp, cubetype, cubsettype >::dist, MorseDecomposition< mapcomp, cubetype, cubsettype >::distconn, MorseDecomposition< mapcomp, cubetype, cubsettype >::indices, MorseDecomposition< mapcomp, cubetype, cubsettype >::nontrivial, MorseDecomposition< mapcomp, cubetype, cubsettype >::nsets, and MorseDecomposition< mapcomp, cubetype, cubsettype >::sets.

Referenced by MorseDecomposition< mapcomp, cubetype, cubsettype >::add(), MorseDecomposition< mapcomp, cubetype, cubsettype >::addconn(), MorseDecomposition< mapcomp, cubetype, cubsettype >::intersection(), MorseDecomposition< mapcomp, cubetype, cubsettype >::loadfromfiles(), and MorseDecomposition< mapcomp, cubetype, cubsettype >::setnumber().

template<class mapcomp, class cubetype, class cubsettype>
bool MorseDecomposition< mapcomp, cubetype, cubsettype >::adjacent ( int  n,
int  m,
int  margin = 0 
) const [inline, private]

Verifies if two Morse sets are adjacent to each other.

Note: If both sets are large, then this can be time-consuming.

Definition at line 490 of file morsedec.h.

References MorseDecomposition< mapcomp, cubetype, cubsettype >::nsets, and MorseDecomposition< mapcomp, cubetype, cubsettype >::sets.

template<class mapcomp, class cubetype, class cubsettype>
int MorseDecomposition< mapcomp, cubetype, cubsettype >::cubsetdistance ( const cubsettype &  X,
const cubsettype &  Y,
bool  minimum 
) [inline, static, private]

Returns the approximate distance between the two cubical sets.

If minimum is set to true, then computes the minimal distance between any pair of cubes, one taken from X, the other from Y. If minimum is set to false, then computes the maximal distance of any cube in X from the set Y, that is, how far X is from Y (warning: the latter relation is not symmetric!) Note: This computation may take some time for large sets.

Definition at line 563 of file morsedec.h.

References MorseDecomposition< mapcomp, cubetype, cubsettype >::dist.

Referenced by MorseDecomposition< mapcomp, cubetype, cubsettype >::distance().


Member Data Documentation

template<class mapcomp, class cubetype, class cubsettype = chomp::homology::hashedset<cubetype>>
const mapcomp& MorseDecomposition< mapcomp, cubetype, cubsettype >::M

The map computation class.

Definition at line 103 of file morsedec.h.

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

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

The number of Morse sets.

Definition at line 232 of file morsedec.h.

Referenced by MorseDecomposition< mapcomp, cubetype, cubsettype >::add(), MorseDecomposition< mapcomp, cubetype, cubsettype >::addconn(), MorseDecomposition< mapcomp, cubetype, cubsettype >::addone(), MorseDecomposition< mapcomp, cubetype, cubsettype >::adjacent(), MorseDecomposition< mapcomp, cubetype, cubsettype >::compute(), MorseDecomposition< mapcomp, cubetype, cubsettype >::computed(), MorseDecomposition< mapcomp, cubetype, cubsettype >::conndistance(), MorseDecomposition< mapcomp, cubetype, cubsettype >::connected(), MorseDecomposition< mapcomp, cubetype, cubsettype >::connection(), MorseDecomposition< mapcomp, cubetype, cubsettype >::count(), MorseDecomposition< mapcomp, cubetype, cubsettype >::distance(), MorseDecomposition< mapcomp, cubetype, cubsettype >::index(), MorseDecomposition< mapcomp, cubetype, cubsettype >::intersection(), MorseDecomposition< mapcomp, cubetype, cubsettype >::join(), MorseDecomposition< mapcomp, cubetype, cubsettype >::jointrivial(), MorseDecomposition< mapcomp, cubetype, cubsettype >::loadfromfiles(), MorseDecomposition< mapcomp, cubetype, cubsettype >::makegraph(), MorseDecomposition< mapcomp, cubetype, cubsettype >::operator[](), MorseDecomposition< mapcomp, cubetype, cubsettype >::passthru(), MorseDecomposition< mapcomp, cubetype, cubsettype >::savetofiles(), MorseDecomposition< mapcomp, cubetype, cubsettype >::setindex(), MorseDecomposition< mapcomp, cubetype, cubsettype >::setnumber(), and MorseDecomposition< mapcomp, cubetype, cubsettype >::trivial().

template<class mapcomp, class cubetype, class cubsettype = chomp::homology::hashedset<cubetype>>
chomp::homology::multitable<cubsettype *> MorseDecomposition< mapcomp, cubetype, cubsettype >::sets [private]

The Morse sets.

Definition at line 235 of file morsedec.h.

Referenced by MorseDecomposition< mapcomp, cubetype, cubsettype >::add(), MorseDecomposition< mapcomp, cubetype, cubsettype >::addone(), MorseDecomposition< mapcomp, cubetype, cubsettype >::adjacent(), MorseDecomposition< mapcomp, cubetype, cubsettype >::compute(), MorseDecomposition< mapcomp, cubetype, cubsettype >::distance(), MorseDecomposition< mapcomp, cubetype, cubsettype >::intersection(), MorseDecomposition< mapcomp, cubetype, cubsettype >::join(), MorseDecomposition< mapcomp, cubetype, cubsettype >::jointrivial(), MorseDecomposition< mapcomp, cubetype, cubsettype >::loadfromfiles(), MorseDecomposition< mapcomp, cubetype, cubsettype >::operator[](), MorseDecomposition< mapcomp, cubetype, cubsettype >::passthru(), and MorseDecomposition< mapcomp, cubetype, cubsettype >::savetofiles().

template<class mapcomp, class cubetype, class cubsettype = chomp::homology::hashedset<cubetype>>
chomp::homology::multitable<IndexType *> MorseDecomposition< mapcomp, cubetype, cubsettype >::indices [private]

The Conley indices of the Morse sets.

Definition at line 238 of file morsedec.h.

Referenced by MorseDecomposition< mapcomp, cubetype, cubsettype >::addone(), MorseDecomposition< mapcomp, cubetype, cubsettype >::compute(), MorseDecomposition< mapcomp, cubetype, cubsettype >::computed(), MorseDecomposition< mapcomp, cubetype, cubsettype >::index(), MorseDecomposition< mapcomp, cubetype, cubsettype >::join(), MorseDecomposition< mapcomp, cubetype, cubsettype >::loadfromfiles(), MorseDecomposition< mapcomp, cubetype, cubsettype >::savetofiles(), and MorseDecomposition< mapcomp, cubetype, cubsettype >::setindex().

template<class mapcomp, class cubetype, class cubsettype = chomp::homology::hashedset<cubetype>>
chomp::homology::multitable<int> MorseDecomposition< mapcomp, cubetype, cubsettype >::nontrivial [private]

The table that stores the information on whether the indices are trivial or not: -1 = unknown, 0 = trivial, 1 = nontrivial.

Definition at line 242 of file morsedec.h.

Referenced by MorseDecomposition< mapcomp, cubetype, cubsettype >::addone(), MorseDecomposition< mapcomp, cubetype, cubsettype >::compute(), MorseDecomposition< mapcomp, cubetype, cubsettype >::join(), MorseDecomposition< mapcomp, cubetype, cubsettype >::jointrivial(), MorseDecomposition< mapcomp, cubetype, cubsettype >::loadfromfiles(), MorseDecomposition< mapcomp, cubetype, cubsettype >::savetofiles(), MorseDecomposition< mapcomp, cubetype, cubsettype >::setindex(), and MorseDecomposition< mapcomp, cubetype, cubsettype >::trivial().

template<class mapcomp, class cubetype, class cubsettype = chomp::homology::hashedset<cubetype>>
chomp::homology::multitable<chomp::homology::multitable<cubsettype *> > MorseDecomposition< mapcomp, cubetype, cubsettype >::conn [private]

Connecting orbits from one set to another.

There is no connection iff the pointer is zero.

Definition at line 247 of file morsedec.h.

Referenced by MorseDecomposition< mapcomp, cubetype, cubsettype >::addconn(), MorseDecomposition< mapcomp, cubetype, cubsettype >::addone(), MorseDecomposition< mapcomp, cubetype, cubsettype >::connected(), MorseDecomposition< mapcomp, cubetype, cubsettype >::connection(), MorseDecomposition< mapcomp, cubetype, cubsettype >::distance(), MorseDecomposition< mapcomp, cubetype, cubsettype >::join(), MorseDecomposition< mapcomp, cubetype, cubsettype >::jointrivial(), MorseDecomposition< mapcomp, cubetype, cubsettype >::loadfromfiles(), MorseDecomposition< mapcomp, cubetype, cubsettype >::makegraph(), MorseDecomposition< mapcomp, cubetype, cubsettype >::passthru(), and MorseDecomposition< mapcomp, cubetype, cubsettype >::savetofiles().

template<class mapcomp, class cubetype, class cubsettype = chomp::homology::hashedset<cubetype>>
chomp::homology::multitable<chomp::homology::multitable<int> > MorseDecomposition< mapcomp, cubetype, cubsettype >::dist [mutable, private]

Tabulated distances between the Morse sets.

Definition at line 251 of file morsedec.h.

Referenced by MorseDecomposition< mapcomp, cubetype, cubsettype >::addone(), MorseDecomposition< mapcomp, cubetype, cubsettype >::cubsetdistance(), MorseDecomposition< mapcomp, cubetype, cubsettype >::distance(), MorseDecomposition< mapcomp, cubetype, cubsettype >::join(), and MorseDecomposition< mapcomp, cubetype, cubsettype >::jointrivial().

template<class mapcomp, class cubetype, class cubsettype = chomp::homology::hashedset<cubetype>>
chomp::homology::multitable<chomp::homology::multitable<int> > MorseDecomposition< mapcomp, cubetype, cubsettype >::distconn [mutable, private]

Tabulated values of the function "conndistance".

Definition at line 255 of file morsedec.h.

Referenced by MorseDecomposition< mapcomp, cubetype, cubsettype >::addone(), MorseDecomposition< mapcomp, cubetype, cubsettype >::conndistance(), MorseDecomposition< mapcomp, cubetype, cubsettype >::join(), and MorseDecomposition< mapcomp, cubetype, cubsettype >::passthru().


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