Skip to main content

Tool to draw the templates of chaotic attractors.

Project description

pipeline status coverage report

CATE stands for Chaotic Attractor TEmplate.

cate is a libre software tool (licensed under GNU Lesser General Public License v3.0 only) to draw the templates of chaotic attractors.

Chaotic attractors are solutions of deterministic processes, of which the topology can be described by templates. We consider templates of chaotic attractors bounded by a genus-1 torus described by a linking matrix.

This tool first validates a linking matrix by checking continuity and determinism constraints. The tool then draws the template corresponding to the linking matrix, and optimizes the compactness of the representation. The representation is saved as a Scalable Vector Graphics (SVG) file.


cate is available as a regular Python package. It hence can easily be installed with pip.

For more details on how to install a Python package, one can refer to

The latest stable (recommended) version can be installed with the following command (assuming pip is installed):

pip install cate

It is recommended to use a virtual environment to install cate. Again, one can refer to to get a more comprehensive overview.

On a typical Linux environment, the typical commands to use would be:

python3 -m venv cate_venv
source cate_venv/bin/activate
pip install cate

This will create a new virtual environment in the cate_venv subdirectory, and configure the current shell to use it as the default python environment. This will then install cate in this new environment without interfering with the already installed packages.

One would then exit this environment either by exiting the current shell, or by typing the command deactivate.

Further uses of cate only require to activate the virtual environment with the following command:

source cate_venv/bin/activate


The purpose of the cate is to draw template from a given linking matrix. For instance, the matrix

matrice 5x5

describes a template made of five strips. The matrix has to be written using JSON format as follows in a file, for instance: 5x5_001.json

[[2, 1, 0, 0, 0],
 [1, 1, 0, 0, 0],
 [0, 0, 0, 0, 0],
 [0, 0, 0, 1, 1],
 [0, 0, 0, 1, 2]]

A simple example of usage could be: cate file.json

cate examples/5x5_001.json
[  INFO  ] Input matrix
[  INFO  ]   [2, 1, 0, 0, 0]
[  INFO  ]   [1, 1, 0, 0, 0]
[  INFO  ]   [0, 0, 0, 0, 0]
[  INFO  ]   [0, 0, 0, 1, 1]
[  INFO  ]   [0, 0, 0, 1, 2]
[  INFO  ] Starting constructing the tree
[  INFO  ] Maximum possible template length: 2
[  INFO  ] Finished constructing the tree
[  INFO  ] Starting creation of the SVG template
[  INFO  ] Shortest template
[  INFO  ]   Level 1: (0, 1), (3, 4)
[  INFO  ] Finished creation of the SVG template

The output is a SVG file (template.svg) containing the template.

template of the matrice 5x5

The comprehensive list of the supported options and their usage is available by typing cate -h.

Project details

Release history Release notifications

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
cate-0.0.1-py3-none-any.whl (12.6 kB) Copy SHA256 hash SHA256 Wheel py3 Jul 27, 2018
cate-0.0.1.tar.gz (86.3 kB) Copy SHA256 hash SHA256 Source None Jul 27, 2018

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page