There are numerous programs included in the advanced version of the Homology Package. All of them are command-line driven utilities that can be launched from the text terminal by typing a suitable command. Moreover, all these programs run in the text mode, except for showcubes.
The programs that are contained in the Homology Package are described in short below. Moreover, each program displays a brief message on its purpose and usage if called without arguments. The text data format page explains how to understand the format of the input/output files used by the programs. Also, several examples are included in the Homology Package. They can be helpful in understanding how to use the programs.
It is recommended that one downloads the source code of the programs and compiles them oneslef; nevertheless, the executable programs already compiled for some popular systems (including Windows and Linux) are also available for download in the Download section of the CHomP website.
Most programs in the package support the following common command-line arguments:
homchain - computes the homology groups over Z or Zp of a chain complex, as well as the homomorphisms induced in homology by chain maps
homcubes - computes the (relative) homology of a set of cubes or a cubical set, as well as the homomorphism induced in homology by an acyclic combinatorial cubical multivalued map
homsimpl - computes the homology of a finite abstract simplicial complex or relative homology of a pair of simplicial complexes
indxpair - finds an index pair with Andrzej Szymczak's algorithm
homcub2l - computes the index map using double-layer cubical sets to overcome the problem with excision, as introduced in a paper by P. Pilarczyk and K. Stolot
chmap - constructs a chain selector of an almost perfect combinatorial cubical multivalued map; this program was written by Marcin Mazur and Jacek Szybowski (note: it does not support the common command-line arguments listed above)
chom - computes homology of a cubical sets using a geometric reduction approach; this program was written by Bill Kalies [more info] (note: it does not support the common command-line arguments listed above)
chomp - computes homology of cubical sets using one of the bitmap-based homology computation algorithms developped recently by Marian Mrozek; the program is capable of reading data in a variety of input formats, and it allows to use multiple homology computation engines, including the ones implemented in homcubes and chom
chkmvmap - verifies whether a combinatorial cubical multivalued map is suitable for the (relative) homology computation with homcubes
chkperf - verifies whether a combinatorial cubical multivalued map satisfies the almost-perfectnessassumption of the chmap program
bit2pset - converts a set of cubes between the format used in the Bill Kalies' chom program and the format used in this Homology Package
bmp2pset - extracts a list of squares from an uncompressed Windows bitmap file
cell2cub - converts a set of cubical cells into a set of cubes; for every cell defined in the input file, if it spans across several cubes, then all the cubes it contains are written to the output file
cnvchmap - converts a chain map from the output format of the chmap program written by Marcin Mazur and Jacek Szybowski to the input format for homchain, which is necessary if one wants to compute the homomorphism induced in homology by such a map
cnvmvmap - converts a combinatorial cubical multivalued map from the format used in chmap by Marcin Mazur and Jacek Szybowski to the format used in the Homology Package, in which each cube is mapped to a set of cubes, not necessarily convex
cub2cell - converts a set of cubes to a set of corresponding cubical cells
cub2map - creates a map whose graph is stored as a set of cubes, or creates the combinatorial cubical multivalued indentity map on the given set of cubes
map2cub - extracts the domain, image, and/or graph of a combinatorial cubical multivalued map
pgm2pset - extracts a list of pixels or voxels from a raw bitmap data
pset2bmp - draws a 2-dimensional projection of a set of cubes onto one of the planes spanned by selected two axes
cubchain - creates a chain complex of a set of cubes
cubiproj - creates chain maps corresponding to the projections of a map whose graph is given onto its domain and codomain
cubdiff - computes the difference of two sets of cubes
cubslice - divides a set of cubes into subsets separated by hyperplanes
simchain - creates a chain complex of a simplicial complex
maprestr - computes the restriction of a map to the given subset of its domain
psetcomm - computes the common part of given sets of cubes
psetconn - splits a set of cubes into connected components
psetglue - computes the union of given sets of cubes
cubtop - manipulates with cubical sets; this program was written by Sylvain Bérubé and Anik Trahan [more info] (note: it does not support the common command-line arguments listed above)
celbetti - computes the Betti numbers of a cubical complex or a pair of cubical complexes over Z or Zp (compare this program with cubbetti and simbetti)
celreduc - collapses a cubical complex or a pair of cubical complexes and saves the result so that one can use homcubes -d to compute the homology (compare this program with simreduc)
cubbetti - computes the Betti numbers of a set of cubes or a pair of sets of cubes over Z or Zp (compare this program with celbetti and simbetti)
cubinclu - computes maps induced in homology by the inclusion maps of each set of cubes in a series into the next one
cubklein - creates a cubical approximation of the Klein bottle embedded in R4
cubreduc - verifies whether the union of two sets of cubes can be reduced to the first of them proving in this way that the inclusion of the first set into the union induces an isomorphism in homology
homcelmp - computes the homomorphism induced in homology by a given cubical multivalued map defined on cubical cells instead of full cubes
maphomol - computes the homomorphism induced in homology by a given combinatorial cubical multivalued map
simbetti - computes the Betti numbers of a simplicial complex or a pair of simplicial complexes over Z or Zp (compare this program with celbetti and cubbetti)
simreduc - collapses a simplicial complex or a pair of simplicial complexes and saves the result so that one can use homsimpl -d to compute the homology (compare this program with celreduc)
showcubes - displays 3-dimensional sets of cubes using OpenGL; note: this program must be compiled with the wxWidgets library