evaLEs

A Python package to compute the Lyapunov spectrum of a dynamical system.

The problem

To tell whether a dynamical system is chaotic you look at its Lyapunov spectrum, which measures how fast two nearby trajectories drift apart. Computing it for a system described by differential equations needs a precise algorithm and, in Python, risks being slow.

Lyapunov spectrum, Lorenz system

What I built

  1. 01

    The algorithm

    The method of Benettin and others, described in Sandri's article on the numerical computation of Lyapunov exponents.

  2. 02

    Speed

    The computation is made fast with Numba and Numpy.

  3. 03

    An installable package

    It installs with pip, with online documentation and an example notebook.

  • My role

    Personal project born from my physics studies: concept and development of the package.

  • Technologies

    Python · Numba · Numpy

Numba lets you write the hot loop in Python and run it almost like C, provided you understand what it accepts. Publishing a package taught me how valuable good documentation with a working example is.

What I learned

Simulations to speed up

Write to me: we start from where your code loses time.

Get in touch