Computational
Homology
Project
   

Note: This page describes the original version of the CHomP software. Another version of the CHomP software with different capabilities was developed at Rutgers University.

The CHomP software package consists of a C++ programming library and a collection of command-line driven programs, which allow to use the most fundamental features of the library through an easy interface. (Pre-compiled version of the programs is available for some systems.)

The CHomP software was originally written by Paweł Pilarczyk, and the current CHomP package additionally contains code developed by Marian Mrozek a couple of years ago; his code is continued to be developed in the framework of the RedHom project. Some code written by a few other people is also currently included in the CHomP project; please, see individual files for this information.

The most basic program that provides access to several homology algorithms (implemented by W. Kalies, M. Mrozek, and P. Pilarczyk) is called chomp. In addition to chomp, another main program is homcubes, which provides a flexible interface for the computation of homology of cubical sets, as well as the computation of the homomorphisms induced in homology by combinatorial cubical multivalued maps. There are also algorithms and programs for computing homology of simplicial polyhedra and chain complexes, as well as for manipulating cubical sets. The following pages describe the contents of the software package in more detail:

Introduction - brief introduction to the basic CHomP software, which explains some of the most basic concepts and provides instructions on how to use the program chomp.

Download - a download page, both for the basic version, as well as the advanced one; contains the source code and precompiled programs

Compilation - compilation guidelines for various operating systems; some specific or more precise compilation instructions are also available:

Data formats - description of the text data formats in which cubical sets, maps, and other related data structures can be saved to and retrieved from files

Programs - a list of programs written in C++ that are compiled together with the CHomP library

Chooser - the CHomP Software Chooser, an interactive GUI Python script for composing the command line of most CHomP programs and with detailed information about the pprograms

Examples - a list of examples contained in the examples/ subdirectory of the source code distribution; these examples illustrate how to use the programs and how to prepare the data; they also indicate some detailed aspects of the software

C++ library - a C++ software library with the interface to the homology computation routines and related data structures

License - the GNU General Public License which applies to the entire CHomP software package (note that this license applies also to the library!)

Benchmarks - a few sample benchmarks which show how efficient the programs are (may be a bit outdated, though)

Tips and tricks - some hints on how to tweak the CHomP software (quite specialized sometimes)

Information referred to in the paper Graph approach to the computation of the homology of continuous maps by K. Mischaikow, M. Mrozek, and P. Pilarczyk.


The documentation of the CHomP software and the CHomP C++ library is very limited, and we apologize for this inconvenience. In addition to the descriptions listed above, there are two PDF documents which address some specific features of the library:

ChompCppLib.pdf - a brief introduction to some most basic interface for homology computation

ChompMvMaps.pdf - a short note on how to compute the homomorphism induced in homology by a continuous map

Note: The chom program by Bill Kalies, the cubtop program by Sylvain Bérubé and Anik Trahan, as well as the showcubes program have all been integrated with the main package on October 12, 2005.