Skip to main content

A Python toolkit for the analysis of dynamical systems

Project description

pynamicalsys: A Python toolkit for the analysis of dynamical systems

Documentation Status PyPI License: GPL v3

Overview

pynamicalsys is designed to provide a fast, flexible, and user-friendly environment for analyzing nonlinear dynamical systems. It is intended for students, researchers, educators, and enthusiasts who want to explore the world of chaos and dynamical systems. Beyond standard tools like trajectory generation and Lyapunov exponents calculation, pynamicalsys includes advanced features such as

  • Linear dependence index for chaos detection.
  • Recurrence plots and recurrence time statistics.
  • Chaos indicators based on weighted Birkhoff averages.
  • Statistical measures of diffusion and transport in dynamical systems.
  • Computation of periodic orbits, their stability and their manifolds.
  • Basin metric for quantifying the structure of basins of attraction.
  • Plot styling for consistent and customizable visualizations.

pynamicalsys is built on top of NumPy and Numba, ensuring high performance and efficiency. Thanks to Numba accelerated computation, pynamicalsys offers speedups up to 130x compared to the original Python implementation of the algorithms. This makes it suitable for large-scale simulations and analyses.

Installation

Prerequisites

  • Python 3.8 or higher
  • pip (Python package installer)

Install via PyPI

To install the latest stable release, run in your command line:

$ pip install pynamicalsys

Note: On Windows, it is strongly recommended to use Anaconda. It simplifies dependency management and avoids potential issues with scientific libraries during installation. Be sure to run the command from the Anaconda Prompt, not from Command Prompt or PowerShell, to ensure the correct environment is activated.

Upgrade via PyPI

To upgrade your current version of pynamicalsys to the latest stable release, run in your command line:

$ pip install pynamicalsys --upgrade

Install from source

If you want to install the development version from the source repository, clone the repo and install with:

$ git clone https://github.com/mrolims/pynamicalsys.git
$ cd pynamicalsys
$ pip install .

Verifying the installation

After installation, you can verify it by running Python and importing the package:

>>> import pynamicalsys
>>> pynamicalsys.__version__

Troubleshooting

If you encounter any issues, make sure you have the latest version of pip:

$ pip install --upgrade pip build

Citation

Currently, our research paper is under review, but in the mean time, if you use pynamicalsys in your work, you can cite the arXiv version:

@misc{pynamicalsys,
  title={pynamicalsys: A Python toolkit for the analysis of dynamical systems},
  author={Matheus Rolim Sales and Leonardo Costa de Souza and Daniel Borin and Michele Mugnaine and José Danilo Szezech Jr. and Ricardo Luiz Viana and Iberê Luiz Caldas and Edson Denis Leonel and Chris G. Antonopoulos},
  year={2025},
  eprint={2506.14044},
  archivePrefix={arXiv},
  primaryClass={nlin.CD},
  url={https://arxiv.org/abs/2506.14044},
}

Contributing

We welcome contributions from the community! To get started, please see our Contributing Guidelines.

License

This project is licensed under the GNU General Public License v3.0.
See the LICENSE file for details.

Acknowledgments

This project was financed, in part, by the São Paulo Research Foundation (FAPESP, Brazil), under process numbers 2023/08698-9 and 2024/09208-8.

Disclaimer

As opiniões, hipóteses e conclusões ou recomendações expressas neste material são de responsabilidade do(s) autor(es) e não necessariamente refletem a visão da Fundação de Amparo à Pesquisa do Estado de São Paulo (FAPESP, Brasil).

The opinions, hypotheses, and conclusions or recommendations expressed in this material are the sole responsibility of the author(s) and do not necessarily reflect the views of the São Paulo Research Foundation (FAPESP, Brazil).

Project details


Download files

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

Source Distribution

pynamicalsys-1.3.0.tar.gz (1.9 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pynamicalsys-1.3.0-py3-none-any.whl (100.5 kB view details)

Uploaded Python 3

File details

Details for the file pynamicalsys-1.3.0.tar.gz.

File metadata

  • Download URL: pynamicalsys-1.3.0.tar.gz
  • Upload date:
  • Size: 1.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.2

File hashes

Hashes for pynamicalsys-1.3.0.tar.gz
Algorithm Hash digest
SHA256 494c2353d6064b67939b5c40c3cf58d4cfd9dd0f72bfc2adb41de206962e08b9
MD5 b29bfff15431b3f14b1c34b2aa85e040
BLAKE2b-256 648f9a4be4f1d4d806a3207d20246ae7388ecefd70da1caed705f2184add8d8d

See more details on using hashes here.

File details

Details for the file pynamicalsys-1.3.0-py3-none-any.whl.

File metadata

  • Download URL: pynamicalsys-1.3.0-py3-none-any.whl
  • Upload date:
  • Size: 100.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.2

File hashes

Hashes for pynamicalsys-1.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 529c0375d525d0ed0653bb93e658957f6f2a6d76c97b3580a15efe00e9178327
MD5 e01e4e7cf0dde6694d3ea14d7c7f6d99
BLAKE2b-256 0611da4c1fdae2c0fdda3384342be3536a13d9011d052cfb654df0ad9eca4cac

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page