Scroll or pinch to zoom · drag to pan · double-click/tap to reset
The bifurcation diagram follows one number, the growth rate r of the logistic map x′ = r x (1 − x). Here two growth rates, a and b, take turns in a fixed sequence: with AB the map is run once with a, once with b, and so on; with AABAB it is a, a, b, a, b. Every point of the picture is a pair (a, b): b runs along the horizontal axis and a up the vertical one.
For each pair the page runs the map for a while to let it settle and then averages ln|r(1 − 2x)| over the following steps. That average is the Lyapunov exponent, the rate at which two orbits that start close together move apart. A negative exponent means the orbit falls into a stable cycle, and the pair is colored, the more negative the exponent the further along the palette. A positive exponent means chaos, and the pair is black. The colored regions are the periodic windows of the bifurcation diagram seen in two dimensions, and where two windows meet they fold into the swallows, snails and blobs of the examples.
The sequence is typed as letters A and B. Fractint wrote it as an Order number: A, then the binary digits of the number (1 is A, 0 is B), then B, so 0 is AB, 1 is AAB, 5 is AABAB and 65 is AABBBBBAB. The buttons above are the examples of Fractint's lyapunov.par, with their order, seed and iterations. The seed is the population the run starts from; when two regions overlap, which one wins depends on it, but the changes are often subtle. Iterations is the length of the whole run: half of it settles, half is averaged, so a small number draws quickly and coarsely (the examples use 15 to 50) and a large one is sharper and slower.
It is the page of Fractint's lyapunov type, which follows A. K. Dewdney's column in Scientific American (September 1991). Like Fractint it takes the derivative at the new population after each step, and it colors an orbit that runs off to infinity, or whose derivative reaches exactly zero, black too.
The picture is drawn as it is computed, in Fractint's order: every 4th point first, filling 4 × 4 blocks, then every 2nd, then the rest. Zooming and panning use the same code as the escape-time page.
This page was created with Claude Code.