Conley-Morse Graphs Computation Software

This page contains software for the computation of Conley-Morse graphs referred to in the paper Databases for the Global Dynamics of Multiparameter Systems by Zin Arai, William Kalies, Hiroshi Kokubu, Konstantin Mischaikow, Hiroe Oka, and Paweł Pilarczyk. The paper was published in SIAM J. Appl. Dyn. Syst., Vol. 8, No. 3 (2009), 757–789. DOI: 10.1137/080734935.

A preprint of this paper can be downloaded here: [ PDF ] [ PS ]

Source code. The software for computations described in the paper is written in the C++ programming language for optimal effectiveness and flexibility. The file with the source code of the software is available below for download under the terms of the GNU General Public License. It is prepared for the compilation with the GNU C++ compiler, either in Windows, or in Unix/Linux. A relatively recent version of the compiler is required to compile the code correctly. The provided makefile must be adjusted before the compilation (please, see explanations therein).

  • – a new version of the source code of the software (with many improvements, new features, and some helper scripts)
  • old source code (originally referred to in the paper) is still available, even though might not compile with contemporary compilers

Programmer's documentation. Detailed documentation of the software has been prepared with Doxygen. Feel free to browse this documentation and learn about the details of how the software was programmed. A compressed version of this documentation is also available below for easy download for off-line browsing; please, unzip the contents of the archive into an empty directory, and open the file index.html.

Libraries necessary to compile the software. The software uses the following libraries:

  • CHomP – Computational Homology Project software library
  • CAPD – Computer Assisted Proofs in Dynamics group
  • LAPACK – Linear Algebra Package
  • libpng – the PNG image library
  • zlib – a well-known compression library
All these libraries are publicly available, mainly under the terms of the GNU General Public License. Please, refer to the websites of those libraries for the actual licensing information, the source code, and compilation instructions as well. Note that LAPACK, libpng and zlib are often included in standard Linux distributions (at least in the devel versions), so no installation might be necessary. This is not the case with the other two libraries, though. Even worse, since those libraries are undergoing dynamic development, it may turn out that their interface may slightly change in the future versions, so a copy of compatible versions of both libraries (which were actually used in the computations made for the paper) is available here:
  • for the new version: use, and download and compile capd-capdDynSys-4.2.153 from the CAPD download site; suggested invocation of the configure script:
    configure --with-filib=yes --with-mpfr=no --with-boost=/usr --without-gui CXXFLAGS="-O2 -Wall"
  • for the old version: (an extract of the CAPD library), and (an extract of the CHomP library);
In Unix/Linux these compressed files should be unzipped in the text mode to ensure the correct conversion of line endings (add the -a command line switch in case of unzipping with the Info-ZIP software).

Compilation in MS-Windows is no longer supported, but I did this in 2010. Here are the instructions. In order to compile the cmgraphs software in MS-Windows, it is recommended to download and install the GNU C++ compiler (the MinGW distribution, for example), some Perl interpreter (a free version of ActivePerl might be a good choice), and the precompiled libraries LAPACK, libpng and zlib gathered especially for the cmgraphs program into a single package (to be unzipped directly into the directory containing the source code of the cmgraphs program); please, note that this is for the old version of the software, and may not work with the new C++ compilers; the source code of these libraries is provided here in the hope it might be useful:

Results of computations. Sample results of computations using this software discussed in the paper are available at the website

Specific instructions for Linux (tested in Ubuntu 20.04) prepared for the 2022 workshop in Poznań are available here.