Conley-Morse Graphs Computation Software

Step-by-Step Instructions

This page contains step-by-step instructions on the installation of the Conley-Morse Graphs software on a typical Linux system. The instructions were prepared in 2022 and tested on Ubuntu 20.02 (last update: 11/19/2024 for Debian 12). The instructions are provided in the form of commands to be issued from a terminal emulator.

Preparation of the software compilation environment (this step has already been completed in the lab, because it requires root privileges). There are several packages necessary to install in addition to a typical installation of Linux. First of all, the C++ compiler and some libraries (the instructions are for Debian/Ubuntu or derivatives):


Preparation of the Web server (only the first line of this step was done in the lab; the rest was skipped due to security policy; it requires root privileges). In order to be able to use the interactive browser of Conley-Morse diagrams, it is suggested to install the Apache PHP server and to configure it in such a way that PHP scripts can be run in user directories. As an alternative, one can run php -S 127.0.0.1:8080 (or similar) and point the Web browser to the corresponding address. Please, update the version of PHP from 7.4 below to the one you have on your system.


Compilation of the CAPD library (note: this takes some time; see instructions for using the pre-compiled version for Ubuntu 20.04 below). The sed command inserts a missing line of code into one of the files and disables the usage of the pari and log4cxx libraries (these libraries causes CAPD to malfunction / not compile).


Using the pre-compiled CAPD library. As an altrnative to compiling the CAPD library, one can use the pre-compiled version for Ubuntu 20.04, as follows.


Compilation of the CHomP library.


Setting up the environment for running the computations in the directory of an individual user. This includes adding the necessary paths and variables to the shell, and creating two necessary subdirectories that are used in some scripts.


Compilation of the Conley-Morse Graphs software.


Running sample computations. First rename the cmgraphs directory to the NameNumber scheme (two digits), then run the computations locally (running on a cluster is similar). Several subdirectories in the data directory are created and a few copies of the cmgraphs program are started in the background, together with the helper script memguard.pl. Note: depending on the settings, this may take a long time.


Post-processing the results of the computations. Once the computations have been completed, the script contdiag.pl can be run to create files for browsing the resulting continuation diagram, and to create archive files that contain all the computation results. The third command provides correct path for the pngsmall program that is used by the browser.


Browsing the results. The last part is to be done by hand, and consists of the following steps:

  1. The files test01.php, test01p.php, and test01.png (created in the data/test01.dat subdirectory) must be copied to a directory containing the PHP code for the results browser. This code that is located in the browser subdirectory of the cmgraphs source code.
  2. The two zipped files that contain the Conley-Morse graphs and the phase space portraits, respectively, must be copied to the zipped subdirectory of the browser code.
  3. A Web server must be started, for example by issuing the command php -S 127.0.0.1:8080 in the directory with the PHP code. Note that the server can be later stopped by pressing Ctrl-C in the terminal.
  4. The page with the browser of the results has to be launched, for example by surfing to the local address http://localhost:8080/test01.php.


Sample data files for the browser. If you didn't complete your computations, you can download the file leslie2browser.zip for browsing the database for the 2-dimensional Leslie model that is also available at www.pawelpilarczyk.com/database/. Here are the commands to download it to the correct directory. Note that you may either have the cmgraphs or already the test01 directory, thus the double code for entering your directory with the PHP browser code. After the PHP server has been launched, you should surf to the page http://localhost:8080/leslie2.php. Note that the server can be later stopped by pressing Ctrl-C in the terminal.


UPDATE (2023/06/25) for a 32-bit version of Debian 10 GNU/Linux, like the old version of the PyDebian installation that I prepared for some of my courses (in Polish, sorry about that, but you can try changing the language by invoking sudo dpkg-reconfigure locales and choosing en_US.UTF-8 UTF-8). The following modifications may be necessary with respect to the instructions above when using the 32-bit version of Debian 10:

  1. begin with sudo apt update; sudo apt upgrade
  2. while configuring PHP, replace the number 7.4 with 7.3 in the command provided above
  3. change --with-filib=yes to --with-filib=no in the configuration command (not supported by the 32-bit system)
  4. edit makefile of cmgraphs to modify the compiler command to CXX=g++ -std=c++11