This namespace contains a multi-engine interface to the homology computation procedures. More...
Classes | |
class | algstruct |
An algebraic structure that represents a finitely generated Abelian group with gradation. More... | |
class | cubfile |
An abstract class that is inherited by all the cubical sets. More... | |
class | cubtype |
A class that holds pointers to the traits of all the cubical file types. More... | |
class | cubfile_traits |
This class defines some common properties of the corresponding classes which define various types of sets of cubes. More... | |
class | cublistfile |
Text list of cubes. More... | |
class | cellistfile |
Text list of cubical cells. More... | |
class | bitcodefile |
Text-encoded bitcodes. More... | |
class | winbmpfile |
Windows bitmap as a set of full cubes. More... | |
class | bmdheader |
This class helps interpret files in the BMD format defined by Marian Mrozek. More... | |
class | bmdfile |
Marian Mrozek's BMD binary file as a set of full cubes. More... | |
class | cubitmap |
A bitmap buffer stored in the memory, not in a file. More... | |
class | engine |
An abstract class that is inherited by all the homology engines. More... | |
class | PPengine |
The homology engine that uses lists of cubes (Pawel Pilarczyk). More... | |
class | BKengine |
The homology engine that uses the Bill Kalies' engine. More... | |
class | BK_LTengine |
The homology engine that uses the Bill Kalies' engine: the version which uses the lookup table for reduction. More... | |
class | MMengine |
A general class for the MM* bitmap-based engines. More... | |
class | MM_CRengine |
The MM_CR engine. More... | |
class | MM_ARengine |
The MM_AR engine. More... | |
class | MM_ASLTengine |
The MM_ASLT engine. More... | |
Functions | |
template<class euclidom > | |
const char * | ringsymbol () |
template<> | |
const char * | ringsymbol< int > () |
template<class euclidom > | |
std::ostream & | operator<< (std::ostream &out, const algstruct< euclidom > &s) |
Outputs the structure to the output stream in a human-readable form. | |
template<class euclidom > | |
void | hom2struct (const chomp::homology::chain< euclidom > *hom, int maxlevel, algstruct< euclidom > &h) |
Translates the PP's homology representation to the algebraic structure. | |
template<class euclidom > | |
void | sign2struct (const CRef< HomologySignature > &homSignCR, algstruct< euclidom > &h) |
std::ostream & | operator<< (std::ostream &out, const bmdheader &header) |
Writes the information collected in the BMD header class to an output stream. |
This namespace contains a multi-engine interface to the homology computation procedures.
Each homology algorithm is called an engine, and the interface defined here allows one to use various algorithms in a uniform way to compute the the homology of cubical sets.
void chomp::homengin::hom2struct | ( | const chomp::homology::chain< euclidom > * | hom, | |
int | maxlevel, | |||
algstruct< euclidom > & | h | |||
) |
Translates the PP's homology representation to the algebraic structure.
Definition at line 297 of file algstruct.h.
{ for (int q = 0; q <= maxlevel; ++ q) { const chomp::homology::chain<euclidom> &c = hom [q]; for (int i = 0; i < c. size (); ++ i) { const euclidom &e = c. coef (i); if (e. delta () == 1) h. addBetti (q, 1); else h. addTorsion (q, e); } } return; } /* hom2struct */
std::ostream& chomp::homengin::operator<< | ( | std::ostream & | out, | |
const algstruct< euclidom > & | s | |||
) | [inline] |
Outputs the structure to the output stream in a human-readable form.
Definition at line 289 of file algstruct.h.
{ return s. describe (out); } /* operator << */
std::ostream& chomp::homengin::operator<< | ( | std::ostream & | out, | |
const bmdheader & | header | |||
) |
Writes the information collected in the BMD header class to an output stream.
const char* chomp::homengin::ringsymbol | ( | ) | [inline] |
Definition at line 217 of file algstruct.h.
Referenced by chomp::homology::show_homology(), and chomp::homology::ShowHomology().
{ return euclidom::ringsymbol (); } /* ringsymbol */
const char* chomp::homengin::ringsymbol< int > | ( | ) | [inline] |
void chomp::homengin::sign2struct | ( | const CRef< HomologySignature > & | homSignCR, | |
algstruct< euclidom > & | h | |||
) |
Definition at line 316 of file algstruct.h.
{ int dim = (*homSignCR). topDim (); for (int i = 0; i <= dim; ++ i) { h. setBetti (i, (*homSignCR). bettiNumber (i)); FGAGrpSignature &s = (*homSignCR) [i]; for (int j = 0; j < s. numberOfTorsionCoefs (); ++ j) { euclidom e; e = s. torsionCoef (j); h. addTorsion (i, e); } } return; } /* sign2struct */