evaLEs

Un pacchetto Python per calcolare lo spettro di Lyapunov di un sistema dinamico.

Il problema

Per capire se un sistema dinamico è caotico si guarda il suo spettro di Lyapunov, che misura quanto velocemente due traiettorie vicine si allontanano. Calcolarlo per un sistema descritto da equazioni differenziali richiede un algoritmo preciso e, in Python, rischia di essere lento.

Spettro di Lyapunov, sistema di Lorenz

Cosa ho costruito

  1. 01

    L'algoritmo

    Il metodo di Benettin e altri, descritto nell'articolo di Sandri sul calcolo numerico degli esponenti di Lyapunov.

  2. 02

    Velocità

    Il calcolo è reso veloce con Numba e Numpy.

  3. 03

    Un pacchetto da installare

    Si installa con pip, con documentazione online e un notebook di esempio.

  • Il mio ruolo

    Progetto personale nato dagli studi di fisica: ideazione e sviluppo del pacchetto.

  • Tecnologie

    Python · Numba · Numpy

Numba permette di scrivere il ciclo caldo in Python e farlo correre quasi come in C, a patto di capire che cosa accetta. Pubblicare un pacchetto mi ha insegnato quanto vale una buona documentazione con un esempio che funziona.

Cosa ho imparato

Simulazioni da velocizzare

Scrivimi: partiamo da dove il tuo codice perde tempo.

Scrivimi