Logistic map
How does a simple map's long-term behaviour depend on its growth rate — and how chaotic does it get?

▶ Run the simulationSee the measured result
Units: dimensionless (Feigenbaum δ, quadratic-maximum class; Briggs 1991 high-precision value)
How the lab tests it
Plot the attractor at every growth rate r (the bifurcation diagram) and measure the Lyapunov exponent λ(r) beneath it.
What it checks
the universal Feigenbaum constant 4.669, λ(4) = ln 2, and chaos onset at r∞ ≈ 3.5699
Logistic map & Feigenbaum constant calculator
One line of algebra, one knob, and somewhere in the middle of turning it the answer stops being a number and becomes a number of numbers. Raise the growth rate of x → r·x·(1−x) and the population settles; raise it further and it alternates between two values, then four, then eight, and the parameter windows in which each of those lives get shorter every time. Feigenbaum's discovery in 1978 was that they get shorter by a FIXED FACTOR — and that the factor is not a property of this formula. It is 4.669201… for a sine map too, and for a real convecting layer of liquid helium, and for a driven circuit, which is why it is a constant of nature rather than a fact about parabolas. This page computes that factor instead of quoting it. There is no closed form to quote: δ is the unstable eigenvalue of a renormalization operator, so the only honest way to put it on a page is to go and find it, and the code below does exactly that — it locates the superstable parameters, the ones where the critical point x = ½ lands back on its own cycle, by bracketing and bisecting f^(2ⁿ)(½;r) − ½, and reads δ off as the ratio of successive gaps. Its decimal appears nowhere in the code that computes it — the page title carries it, because that is what people search for, but the calculator never reads it — and the gate checks both halves of that, because a constant with no derivation is exactly the kind that can be typed in and called a measurement. Eleven levels get it to eight digits, and the same extrapolation locates the onset of chaos at r∞ = 3.5699456718… to thirteen. What makes this falsifiable rather than decorative is that one parameter moves it. The map here is f(x) = (r/4)·(1 − |2x−1|^z), which at z = 2 is the logistic map exactly, and z is the order of the maximum — the only thing about a smooth one-hump map that universality says should matter. Set z = 4 and the very same code returns 7.2847, not 4.669, so 'any period-doubling cascade gives Feigenbaum's number' is false, and it is the class that the constant belongs to, not the cascade. A second rival is tested by pure arithmetic: if the gaps shrank by exactly δ from the very first interval, the third doubling would sit at 3.545757, and it sits at 3.544090 — a miss of 1.7e-3, seven thousand times this lab's own uncertainty on that onset. The convergence is asymptotic, and that is not a quibble, because it is the whole explanation of what this lab's own screen displays. Three of the cascade's landmarks need no computing at all and are assembled here from one quadratic: the 2-cycle multiplier μ₂(r) = 4 + 2r − r² equals +1 where the fixed point dies (r₁ = 3), zero where the 2-cycle is superstable (R₁ = 1+√5, which the numerical cascade reproduces to no error whatever), and −1 where the 2-cycle itself dies (r₂ = 1+√6). Four things this page will not do. It will not compute Feigenbaum's SECOND constant α = 2.5029, the one that scales the x-axis rather than the parameter axis, because this lab never measured it. It will not give a closed form for δ, or for r₃, because neither exists — r₃ is numerically determined and therefore arrives here as an editable field rather than a line of code. It will not offer the closed-form onsets for z ≠ 2, because that quadratic is the logistic map's and nobody's else. And it will not read Libchaber's helium cascade, 4.4 ± 0.1 in a real fluid, as agreement to better than the ± it came with.
x → r·x·(1−x) · δ = lim (Rₙ₋₁−Rₙ₋₂)/(Rₙ−Rₙ₋₁) · superstable Rₙ: f^(2ⁿ)(½) = ½ · μ₂(r) = 4 + 2r − r² ⇒ r₁ = 3, R₁ = 1+√5, r₂ = 1+√6 · λ = ⟨ln|f′|⟩, λ(4) = ln 2 · r∞ ≈ Rₙ + (Rₙ−Rₙ₋₁)/(δ−1)