Beauty in Chaos: Details

Return to the gallery.

Ideal double pendulum

The first formal analysis is attributed to Daniel Bernoulli around 1733 in the St Petersburg Academy’s Commentarii (vol. 6, 1732/1733), with later systematic treatments by Euler and then Lagrange; the problem became a classic exemplar of coupled-oscillator dynamics.

A conservative two-degree-of-freedom Hamiltonian system of coupled planar pendula with total energy conserved. The dynamics range from near-periodic to strongly chaotic depending on energy. This represents an ideal, planar, rigid double pendulum with massless rods and point masses.

Let Δ = θ1 − θ2.
1/dt = ω1
2/dt = ω2
1/dt = [ −g (2 m1 + m2) sin θ1 − m2 g sin(θ1 − 2 θ2) − 2 m2 sin Δ (ω22 l2 + ω12 l1 cos Δ) ] / [ l1 ( 2 m1 + m2 − m2 cos(2 Δ) ) ]
2/dt = [ 2 sin Δ ( ω12 l1 (m1 + m2) + g (m1 + m2) cos θ1 + ω22 l2 m2 cos Δ ) ] / [ l2 ( 2 m1 + m2 − m2 cos(2 Δ) ) ]

On this site, we have two implementations of the double pendulum system: the first plots a trajectory by tracking the angle of the two joints, with one placed onto the x-axis and the other on the y-axis. The other tracks the x, y position of the second bob. Both mechanisms illustrate the sometimes stable, sometimes chaotic nature of this system. Looking at the chaos distribution becomes a rich source of fractal-like images.

Lorenz system

Introduced in 1963 by Edward N. Lorenz, the three-equation “Deterministic Nonperiodic Flow” model arose as a simplified representation of thermal convection and became the canonical example of sensitive dependence on initial conditions.

Derived from a truncated convection model, with classic parameters (σ, ρ, β) = (10, 28, 8/3) producing the butterfly attractor. It is uniformly dissipative with divergence = −(σ + 1 + β), has symmetry (x, y) → (−x, −y), and a rich bifurcation structure in ρ.

dx/dt = σ (y − x)
dy/dt = x (ρ − z) − y
dz/dt = x y − β z

One of the animations on this site is a 1280x1280 plot that sweeps through a part of the phase space for this system. At each point in the plot, we launch two instances of the system a tiny distance apart and measure the scale of the difference in their paths to give an indication of how chaotic the system is at that point. Each instance was run for 2,500 iterations. That's 8 billion iterations per plot. The animation required 200 frames, so that's over 1.6 trillion iterations for one animation.

Rössler system

Proposed in 1976 by Otto E. Rössler, this three-variable continuous-time system was designed as a minimal prototype for chaos with only one quadratic nonlinearity, offering a simpler counterpart to the Lorenz flow.

A minimalist chaotic flow with a single quadratic nonlinearity in the z equation. Trajectories spiral in the (x, y) plane, are lifted by z, then reset, forming a single-scroll attractor for common parameters. Long-term average divergence is negative in the chaotic regime, so it is not uniformly dissipative, though its average divergence on the attractor is negative for the usual chaotic parameters.

dx/dt = −(y + z)
dy/dt = x + a y
dz/dt = b + z (x − c)

This system has an interesting chaotic phase space that is filled with gentle waves until you reach a critical zone where the direction of the waves seems to flip axis and significantly increase in density. You can see this in the corner of the first 3D plot. The chaotic parameters a=b=0.2 and c=5.7 are commonly used with this system.

Shimizu–Morioka system

Toshihiro Shimizu and Naoto Morioka introduced this Lorenz-type reduction in 1980 while studying symmetry-breaking bifurcations; their Physics Letters A paper established the now-standard three-equation form.

A reduced Lorenz-type model with position–velocity structure in the first two equations and quadratic feedback via xz and x2. It is dissipative with divergence = −(a + b) and preserves the symmetry (x, y) → (−x, −y).

dx/dt = y
dy/dt = x − a y − x z
dz/dt = −b z + x2

This beautiful system is dominated by spirals impinging upon each other. There are gradual transitions from chaotic modes into more stable, periodic cycles.

Halvorsen system

Arne Dehli Halvorsen proposed this cyclically symmetric three-dimensional chaotic flow in 1997 on the sci.fractals newsgroup; J. C. Sprott documented the formulation and its attractors shortly thereafter.

A three-dimensional quadratic autonomous flow with cyclic symmetry under permutation of x, y, z. It is dissipative for a>0 with divergence = −3a, so trajectories contract to low-dimensional sets. The quadratic self-coupling terms x2, y2, z2 and strong linear cross-coupling produce rich dynamics, including symmetric pairs of scrolls and chaotic attractors. Equilibria and their bifurcations inherit the threefold symmetry.

dx/dt = −a x − 4 y − 4 z − y2
dy/dt = −a y − 4 z − 4 x − z2
dz/dt = −a z − 4 x − 4 y − x2

One of my favourite systems when viewed as a 3D plot, this has folds and pinched areas of more stable modes flowing throughout a highly chaotic volume. With high chaos rendered almost transparent, the result reminds me of layers of an onion!

Chen system

In 1999, Guanrong Chen and Tetsushi Ueta reported “yet another chaotic attractor,” a Lorenz-type three-dimensional system that blends features reminiscent of both Lorenz and Rössler while being dynamically distinct.

Closely related to the Lorenz system but not generally topologically equivalent, with linear dissipation and quadratic products xy and xz. The divergence is −a + c − b, typically negative in chaotic settings. It exhibits a double-scroll attractor, symmetry (x, y) → (−x, −y), and transitions between steady, periodic, and chaotic regimes.

dx/dt = a (y − x)
dy/dt = (c − a) x − x z + c y
dz/dt = x y − b z

There is a lot going on within this system's phase space. The 3D plot looks a lot like a wooden cube, complete with a grain texture. One amusing pattern lurking in the phase space is what looks like the outline of a person doing a T-pose (variables [a=35,b=3,c=28] in state space [-50,0,-50] to [50,0,50]).

Software

I wrote various bits of software to help me generate the images and animations on these pages. I have published source code to all of it on GitHub. The software is released under the Apache 2 Open Source licence. I welcome contributions from the community to fix bugs and suggest improvements to my code!

Inspiration

I would like to recognise some of the people who have influenced the creation of these pages:

  • 3Blue1Brown for consistently making maths beautiful.
  • 2swap for the video that sparked my curiosity about chaotic systems.
  • Drew's Campfire has some more great videos on the double pendulum.
  • The Python community for making explorations like this possible.