Skip to main content

Chaos Atlas

Iterated maps, coupled map lattices, and Lyapunov exponents for chaotic dynamical systems. NumPy arrays in, NumPy arrays out.

This is the Python companion to the Chaos Atlas web explorer, which visualises the same systems interactively.

Install

Requires Python 3.14 or newer.

pip install chaos-atlas

Use

Every map shares the same surface, so switching systems is a one-word change.

from chaos_atlas.maps import logistic, henon

orbit = logistic.trajectory(r=3.9, x0=0.5, iterations=1000)
exponent = logistic.lyapunov(r=4.0)          # -> log 2, the Bernoulli shift

points = henon.attractor(a=1.4, b=0.3, iterations=10_000)   # (10000, 2)

Bifurcation diagrams come back as paired flat arrays, ready to scatter:

import matplotlib.pyplot as plt

r, x = logistic.bifurcation(r_min=2.5, r_max=4.0, r_steps=2000)
plt.plot(r, x, ",k", alpha=0.25)

Coupled map lattices return a (time_steps, lattice_size) space-time array:

from chaos_atlas import cml

spacetime = cml.diffusive(r=3.9, epsilon=0.4, lattice_size=256, time_steps=512)
plt.imshow(spacetime, aspect="auto", cmap="magma")

Pass rng= (or initial=) when you need a run to be reproducible.

Maps

Module System Notes
logistic x → rx(1−x) period doubling, bifurcation, cobweb
tent piecewise linear λ = log α exactly, symbolic dynamics
henon (1−ax²+y, bx) strange attractor, λ₁ ≈ 0.419
standard Chirikov area preserving, KAM islands
ikeda optical cavity spiral attractor
arnold cat map area preserving, finite recurrence period
bakers baker's transformation entropy = log 2 exactly
tinkerbell quadratic 2D multi-loop attractor
duffing double well fixed points in closed form
complex_quadratic z² + c Julia and Mandelbrot escape-time

Lyapunov exponents for the nonlinear 2D maps evolve a tangent vector under the analytic Jacobian with renormalisation each step. Where a map has an exact exponent — tent, baker's, Arnold, logistic at r = 4 — the test suite pins the numerical result to it.

Development

uv venv --python 3.14
uv pip install -e ".[dev]"
uv run pytest

License

Apache-2.0. Copyright 2026 Ricardo A S Frantz.

Download files

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

Source Distribution

chaos_atlas-0.2.0.tar.gz (19.9 kB view details)

Uploaded Source

Built Distribution

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

chaos_atlas-0.2.0-py3-none-any.whl (22.7 kB view details)

Uploaded Python 3

File details

Details for the file chaos_atlas-0.2.0.tar.gz.

File metadata

  • Download URL: chaos_atlas-0.2.0.tar.gz
  • Upload date:
  • Size: 19.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for chaos_atlas-0.2.0.tar.gz
Algorithm Hash digest
SHA256 2e1ab6bfc2f46dd8dcbb5b8def71a97b5f765fa82ed990ba55118ccefcd85349
MD5 4bfea48bf01f9083111789f801865151
BLAKE2b-256 653c4b9fe04102f0f62ad2681084e1f1a6f8112829c5478eba86ce4c7271eac4

See more details on using hashes here.

Provenance

The following attestation bundles were made for chaos_atlas-0.2.0.tar.gz:

Publisher: release.yml on openfluids/chaos-atlas

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file chaos_atlas-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: chaos_atlas-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 22.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for chaos_atlas-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5a6f94910207c61772646975ab65fb5529457bb64c27d6cde5e725c3a5d3233c
MD5 8c951749d89313c0d6d678dd4a651f1d
BLAKE2b-256 99d4d5d1889666b72fb1f0fdda954d7214d391befedb52787b069de1e2f82bc2

See more details on using hashes here.

Provenance

The following attestation bundles were made for chaos_atlas-0.2.0-py3-none-any.whl:

Publisher: release.yml on openfluids/chaos-atlas

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.3.0

2 files

This release

0.2.0 This release

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page