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 4, the default x0 = 0.5 is preperiodic
exponent = logistic.lyapunov(r=4.0, x0=0.2)  # -> log 2, a generic x0 gives the attractor's exponent

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.3.0.tar.gz (22.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.3.0-py3-none-any.whl (24.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: chaos_atlas-0.3.0.tar.gz
  • Upload date:
  • Size: 22.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.3.0.tar.gz
Algorithm Hash digest
SHA256 97c505cca6bfc4490e0883cddc87f0859deae487c45b2458e241aa3d3f4012f4
MD5 ab42a01ed95813f66ffc39533b0a2d2c
BLAKE2b-256 eda892602029d6ce763a67d452e524b22ff2ee5e0633d266b2ec8eb6d39a3102

See more details on using hashes here.

Provenance

The following attestation bundles were made for chaos_atlas-0.3.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.3.0-py3-none-any.whl.

File metadata

  • Download URL: chaos_atlas-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 24.6 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.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4b7502fe7a4377ba038f28669ca1c5ddc2bbad3fcd28c55922c05912e24fe1fe
MD5 0e87631f85fddb737c88862ede1e1245
BLAKE2b-256 abea193bfcd2a9f50424bf03f7c4cfb83acf935b1671332db5457f9eb2949c88

See more details on using hashes here.

Provenance

The following attestation bundles were made for chaos_atlas-0.3.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

This release

0.3.0 This release

2 files

0.2.0

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