What are libraries available in Python for the simulation and bifurcation study of dynamical systems?

I want to simulate a model based on four or five ODEs, and build bifurcation maps, based on two parameters. For this I need time series of 40000 data points to classify the morphology for each point in parameter space. Speed matters even though I have access to a cluster with Python.

I know PyDSTool; is there another alternative?


2 Answers 2


I authored a Python module named JiTCODE, which is intended for the dynamical-systems community. Here are some features or missing features that my be relevant for you:

  • The right-hand site of the differential equation is just-in-time-compiled, which makes integration rather fast. For smaller systems such as yours, there may still be a relevant overhead though (as compared to a pure C program, for example). Its performance is comparable or better than that of PyDSTool (see Fig. 5 in the accompanying paper).

  • It allows you to change control parameters at run-time, thus avoiding frequent re-compilation when scanning a parameter space.

  • It neither offers dedicated tools for detecting and determining the type of bifurcations nor continuisation. However, since the input is symbolic, it is not a big step to use symbolic equation solvers to find fixed points and determine their stability.

  • It does allow you to almost automatically determine regular and transversal Lyapunov exponents.


You could install Netlogo. It is a free java-based GUI tool, but it has some language bindings for "remote-controlling" it and fetching the results. It has a large models-library with lots of useful and preconfigured models, some of which might suit your needs.

In this post on SO someone mentions a new Python API, PyNetLogo, but I haven't used that API yet and cannot tell how good it is.

  • Thanks, I will have a look with more attention, but I was maybe looking for something more specific to ODE
    – Dadep
    Commented May 2, 2018 at 14:41

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.