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 */
1.7.1