Computational Cohomology Project

Software

NOTE: For a more comprehensive version of the software described below, please, see the ChainCon website.

This page contains a distribution of the software that was developed within the framework of the project, as well as related software libraries, examples, and documentation. This is basic software written in C++ for the computation of a chain contraction for a cubical or simplicial complex to its AT model, which is also constructed. In this version, the coefficients are limited to the field Z2 of the integers modulo 2. The software developed within the framework of this project is published here with the source code under the terms of the GNU General Public License, version 3.

Files for download

chain_src.zip - the source code (in C++) of a basic software library and sample programs for the computation of a chain contraction over Z2 and the homology module for coefficients in Z2 for simplicial and cubical complexes (requires the CHomP library; see below).

chain_dox.zip - documentation of the sofware package, compressed for easy off-line browsing.

chain_chomp.zip - the source code of a very small selection of the CHomP library, necessary to compile and link the programs listed above if one doesn't want to download the full CHomP library.

chain_ex.zip - a small collection of examples illustrating the usage of the software package.

chain_win32.zip - pre-compiled executables for the 32-bit version of Windows, compiled with the MinGW port of the GNU C++ compiler. Can be downloaded and run together with the examples (see above).

Documentation

Documentation of this software library and programs, together with a relatively detailed description of the entire package, may be browsed on-line, and is also available in the file chain_dox.zip for convenient off-line browsing.

Quick compilation guide for the users of Linux:

First of all, make sure that the GNU C++ compiler is installed in the system (depending on your system's configuration, it may not be installed by default, but usually the installation of the GNU C++ compiler boils down to selecting it in your package manager). Other prerequisites necessary to compile and use this sofware: GNU make, Python.

Very brief compilation instructions (in your text terminal emulator, starting in your home directory, assuming that the downloaded files are there):

mkdir chomp
cd chomp
unzip -a ../chain_chomp.zip
make
cd ..
mkdir chain_contr
cd chain_contr
unzip -a ../chain_src.zip
make
unzip -a ../chain_ex.zip
chmod u+x examples/*.sh
python examples.py

Hints for the users of Windows:

  1. If you are interested in compiling the software, you may need to download and install a port the GNU C++ compiler with GNU make, e.g. Dev-C++.
  2. If you are interested in running the GUI browser of examples, you may need to download Python with Tk, e.g. the free Community Edition of ActivePython.
  3. Download the files given at this website, and either compile the CHomP software library (or at least the selection provided above) and the source code of the provided software package, or unpack the precompiled binary programs.
  4. Browse the provided examples, either using the GUI Python script examples.py, or with your favorite file manager.
  5. Read the documentation (at least the main page) and browse the source code (also included in the documentation, with nice coloring and hyperlinks).
  6. Some settings (paths, environment variables, etc.) may need to be adjusted in order to compile and run the programs successfully.