§ 00 · Visual overview

Chaos has rules.
Watch them unfold.

Chaos is not randomness — it is deterministic motion that forgets its own starting point. Every idea here — sensitive dependence, bifurcation, strange attractors, fractals — lives as a simulation you can push, drag, and replay. The equations are short. The behavior is not.

trajectory A trajectory B — started 0.1% away The Lorenz attractor, drawing itself live. Two starts, almost identical — watch them agree, then part company forever. It resets on its own.
§ 01 · Sensitive dependence

Two pendulums, one invisible difference

Both double pendulums below obey the exact same equation, with no randomness anywhere. The only difference is the release angle — by an amount smaller than any instrument could measure. For a while they move as one. Then the error compounds exponentially, and they become strangers.

|δ(t)| ≈ |δ₀| · eλt   —  λ > 0 means forecasting has a deadline
pendulum A pendulum B (A + Δθ₀) Trails follow each free tip. The gap bar (right) is drawn on a log scale — exponential growth shows up as a steady climb.
Gap now
–°
Time to diverge
–s
Growth rate λ
–/s
Status
–

Now make Δθ₀ ten thousand times smaller and restart. Divergence still happens — it just arrives a couple of seconds later. Each 10× improvement in your measurement buys only a fixed few seconds of forecast. That, in one picture, is why weather prediction has a horizon. Small release angles, by contrast, stay in sync — chaos is a regime, not a universal law.

§ 02 · The logistic map

One line of algebra, infinite behavior

This is a population model you can compute by hand: next year's population is this year's, times growth r, times the crowding brake (1 − x). Turn r up slowly. The population settles… then oscillates… then oscillates twice as fast… then gives up on settling at all.

xn+1 = r · xn(1 − xn)
cobweb orbit the map y = rx(1−x) y = x mirror line Left: each bounce is one year. Right: the same orbit as a time series.
Bifurcation diagram — every long-run fate of the map, one r per column. Click anywhere on it to jump there.
Fixed point x* = 1−1/r
–
Long-run behavior
–
Lyapunov exponent λ
–
Verdict
–

Look at the bifurcation diagram: each fork is the system's rhythm doubling — 1, 2, 4, 8… The forks arrive faster and faster, in a ratio that converges to 4.669… — the same constant in dripping taps and beating hearts. And inside the chaos, at r = 3.835, a clean period-3 window opens. Order and chaos are interleaved all the way down.

§ 03 · Strange attractors

Never repeating, never leaving

Edward Lorenz boiled weather down to three numbers and three equations — and found motion that never settles and never repeats, yet never escapes a ghostly butterfly-shaped cage. That cage is a strange attractor: the orbit is unpredictable, but its home address is not.

ẋ = σ(y − x)    ẏ = x(ρ − z) − y    ż = xy − βz
trajectory twin (offset 10⁻³) Drag to rotate. The head of the line is where the “weather” is right now.
Regime
–
Chaos threshold ρc
–
Twin separation
–
State (x, y, z)
–

Drag ρ — the “heating” knob — down to 15: the orbit spirals into a fixed point and the weather turns boring. Push it past ρc ≈ 24.7 and the butterfly wakes up. Then release the twin: it hugs the teal line, drifts, and soon orbits opposite wings — same laws, same cage, unrelated weather. The attractor itself is a fractal: its dimension is about 2.06, a surface infinitely folded into thickness.

§ 04 · Fractals & dimension

Zoom in — it never gets simpler

A coastline, a fern, a lung: magnify them and you find the same wrinkles again at every scale. Fractals formalize this. Repeat one dumb rule forever and you get objects with fractional dimension — curves too crinkled to be 1-D, too thin to be 2-D.

D = log N / log(1/s)   —  N copies, each scaled by s
Koch snowflake: each segment is replaced by 4 copies at ⅓ scale — so D = log 4 / log 3.
Pieces
–
Perimeter
–
Area enclosed
–
Fractal dimension D
–

Watch the Koch readouts as you raise the depth: the perimeter grows by 4/3 every step, without limit, while the enclosed area quietly converges to 8/5 of the original triangle. An infinite fence around a finite garden. This is why the question “how long is Britain's coastline?” has no answer — but “what is its dimension?” does. And chaos ties the knot: strange attractors are fractals. For the deep end, open the Mandelbrot Explorer →

§ 05 · Practice

Now you do the math

Each problem needs one idea from above and arithmetic you can do on paper. Hints reveal one step at a time — try before you peek, and use the simulators to check yourself.

1 · The stubborn fence

A Koch snowflake starts as a triangle with a 3 m perimeter. After how many iterations does its perimeter first exceed 100 m?

Hint 1 — Each iteration replaces every segment with 4 pieces, each ⅓ as long — so the perimeter multiplies by 4/3 every step: P(n) = 3 · (4/3)ⁿ.
Hint 2 — You need (4/3)ⁿ > 100/3. Take logs: n > ln(33.3) / ln(4/3) ≈ 3.507 / 0.2877.
Answer — n > 12.2, so the 13th iteration crosses 100 m (P ≈ 100.9 m). By iteration 50 it would pass a million meters — around a garden you could still walk across in seconds.

2 · The dimension of a triangle full of holes

The Sierpinski triangle is made of 3 copies of itself, each scaled to ½ size. What is its fractal dimension — and why is it less than 2?

Hint 1 — Use the self-similarity formula: D = log N / log(1/s) with N = 3 copies and scale s = 1/2.
Hint 2 — D = log 3 / log 2. Compare: a filled triangle would be N = 4 copies at ½ scale, giving log 4 / log 2 = 2 exactly.
Answer — D = 1.585. It's less than 2 because every iteration removes area — infinitely many holes leave zero area behind, but the boundary skeleton is far too wrinkled to be a mere curve. Verify with § 04: the area readout marches to 0 as depth grows.

3 · The population that won't settle

For the logistic map with r = 3.2, the fixed point is x* = 1 − 1/r ≈ 0.687. Show that the population refuses to stay there, and say what it does instead.

Hint 1 — A fixed point is stable only if the map's slope there is gentle enough: |f′(x*)| < 1, where f′(x) = r(1 − 2x).
Hint 2 — Substitute x* = 1 − 1/r: f′(x*) = r(1 − 2 + 2/r) = 2 − r. At r = 3.2 that's −1.2.
Answer — |−1.2| > 1: tiny deviations are amplified 1.2× per year while flipping sign, so the orbit spirals away from x* and lands on a stable 2-year cycle (≈ 0.513 ↔ 0.799). Check it on the § 02 cobweb — the spiral unwinds outward onto a rectangle. Stability dies at exactly r = 3, where 2 − r hits −1: the first fork of the bifurcation diagram.

4 · The forecast deadline

A weather model has Lyapunov exponent λ ≈ 0.8/day. Today's measurement error is 0.1%. When does the forecast error reach 100% — and how much longer do we get by making measurements 1000× more precise?

Hint 1 — Error grows as δ(t) = δ₀ e^{λt}. You need e^{0.8t} = 1000.
Hint 2 — t = ln(1000)/0.8 ≈ 6.9/0.8. For the better instruments, the ratio to cover becomes 10⁶ instead of 10³.
Answer — About 8.6 days. A 1000× precision upgrade only doubles it to ≈ 17 days — each factor of 1000 buys the same 8.6 days. That logarithmic wall is why two-week forecasts are a physical limit, not an engineering one. You watched exactly this in § 01.