When qualitative behaviour changes
Real systems come with knobs: a flow rate, a temperature, a driving strength. A bifurcation is a value of such a control parameter at which the qualitative structure of the dynamics changes suddenly — fixed points appear or vanish, or swap stability, or a steady state gives way to oscillation. A beam that carries load smoothly until it buckles, a laser dark until threshold, a population that crashes: all are bifurcations.
Bifurcations matter because they are where a system reorganizes — the tipping points. And a small handful of elementary bifurcations, captured by simple normal forms, describe an enormous range of physical transitions.
The elementary bifurcations
Four types recur everywhere. A saddle-node creates or destroys a pair of fixed points out of nothing. A transcritical exchanges the stability of two that always exist. A pitchfork replaces one symmetric state by two mirror-image ones. A Hopf bifurcation turns a stable fixed point into a small limit cycle — a steady state that starts to oscillate.
The normal forms. The saddle-node has two fixed points for r > 0 and none for r < 0. The pitchfork's single state x* = 0 splits into two, ±√r, as r crosses zero.
The pitchfork is worth dwelling on: for r < 0 the only equilibrium is x^* = 0 and it is stable; as r crosses zero it goes unstable and two stable branches x^* = \pm\sqrt{r} appear. The system must choose one — the very picture of spontaneous symmetry breaking, from a buckling column choosing a side to a ferromagnet choosing a direction.
Maps: dynamics in discrete time
To reach chaos in the simplest possible setting we switch from continuous flows to iterated maps, where time ticks in discrete steps: x_{n+1} = f(x_n). Maps arise naturally — a population census once a year, a driven oscillator sampled once per drive period (a Poincaré section, Guide 4). A fixed point now satisfies x^* = f(x^*).
For a map, stability is set by the multiplier |f′(x*)|: a nudge is multiplied by f′ each step, so it decays only if |f′| < 1. The critical value is 1, not 0.
The logistic map
The most famous example is the logistic map, a toy model of a population with limited food: growth r x_n is checked by crowding -r x_n^2. Despite its childlike simplicity it contains the whole route to chaos.
The logistic map. x is the population as a fraction of the maximum; r is the growth rate. One parameter, endless behaviour.
- Set up the fixed-point condition. Require x^* = r x^*(1 - x^*). One root is x^* = 0; dividing the rest by x^* gives 1 = r(1 - x^*), i.e. x^* = 1 - 1/r (physically meaningful only when r > 1).
- Compute the multiplier. Differentiate: f'(x) = r - 2rx = r(1 - 2x). This slope, evaluated at each fixed point, decides its stability.
- **Test extinction (x^* = 0).** Here f'(0) = r, so the empty state is stable only for r < 1: below a critical growth rate the population dies out. At r = 1 it loses stability.
- **Test the survival state (x^* = 1 - 1/r).** Here f' = r\bigl(1 - 2(1 - 1/r)\bigr) = 2 - r. It is stable while |2 - r| < 1, i.e. for $1 < r < 3$: the population settles to a single steady value.
- Find the first bifurcation. At r = 3 the multiplier reaches f' = -1. The fixed point goes unstable and a stable period-2 cycle is born — the population now alternates between a high year and a low year. This is the first period doubling.
Period doubling and the Feigenbaum cascade
Push r higher and the doublings keep coming, faster and faster: period 2 becomes 4 at r \approx 3.449, then 8, 16, 32, … The bifurcation values r_n pile up geometrically and accumulate at r_\infty \approx 3.5699. Beyond that lies chaos — aperiodic wandering — threaded with narrow windows of order, most famously a period-3 window near r \approx 3.83.
The Feigenbaum constant: the ratio of successive bifurcation spacings converges to a universal number, the same for a huge class of maps.
Stretch and fold
At r = 4 the logistic map is fully chaotic — a single one-dimensional map, no three dimensions required, exactly as Poincaré–Bendixson allowed. What makes it chaotic is the parabola's two-part action: it stretches nearby points apart (giving sensitive dependence) yet folds the interval back on itself (keeping everything bounded in [0,1]).