Species – σeff – Predicted λmax – Measured λmax – Community –
Drag to orbit, wheel or pinch to zoom, click a species to select it. Tiers are trophic levels (plants at the bottom). A link is coloured gold at the end that benefits and blue at the end that is harmed. Animal size follows population (cube root).
Food Web Stability: May's Complexity Threshold, Jacobian Eigenvalues and Species Removal Diorama Lab
Is a big, richly connected food web fragile? Build a random community, read its stability from the eigenvalues of its Jacobian, then remove species and watch what survives.
Pause Reset populations New random community Structure: niche-model food web Quality: High
Community
Time
Species removal
Click a species in the 3D view to select it.
Remove selected Remove a random one Restore all
Live readouts
Populations Ni (equilibrium = 1)
Jacobian eigenvalues
Green dots are eigenvalues of the Jacobian at the equilibrium of the surviving species; the dashed ellipse is May's prediction for the full community. Any dot right of the red line (Re λ > 0) means the equilibrium is unstable.
Experiment 1: May's stability threshold
Draws 40 random communities per point (at least 32 species) with your connectance and τ, and measures how often every eigenvalue is stable as σ√(SC) grows. The elliptic law says the flip happens at 1/(1+τ).
Run stability sweep
Experiment 2: who is the keystone?
Removes each species of the current community in turn and counts the secondary extinctions that follow.
Scan all single removals
Independent numerical checks
Controls Drag or one finger: orbit; wheel or pinch: zoom; click a species to select it. Presets set S, C, σ, τ and the structure and rebuild the community. Structure: niche-model food web (consumers eat species inside a niche interval, the prey is harmed and the consumer gains less) or a random matrix whose pair correlation τ you set (-1 pure predator-prey, 0 random, +1 symmetric mutualism or competition). Quality High is the default; Low (or ?q=low) shrinks shadows and pixel ratio.
The science
Community model. Generalised Lotka-Volterra dynamics dNi /dt = Ni (ri + Σj Bij Nj ) with B = -I + A (self-limitation -1, interactions A). The growth rates are chosen as r = -B·1 so that every species sits at N* = 1. The Jacobian there is B, and the community is stable if all eigenvalues have negative real part.
May's criterion. For a random A with connectance C and entry standard deviation σ, the eigenvalues of A fill an ellipse of semi-axes σ√(SC)(1+τ) (real) and σ√(SC)(1-τ) (imaginary), τ being the correlation of Aij with Aji . Shifted by -1, the community is stable when σ√(SC)(1+τ) < 1. More species, more links or stronger links make a random community unstable; predator-prey pairs (τ < 0) are more forgiving than mutualist or competitive pairs (τ > 0). The page measures this transition (Experiment 1) and checks the ellipse law.
Niche-model webs. Species get niche values ni in [0, 1]; consumer i eats every species whose n lies in an interval of width ri = ni ·x (x drawn from a Beta law that gives the chosen connectance) centred below ni (Williams and Martinez). For each feeding link the prey loses w and the consumer gains 0.4 w.
Species removal. With the growth rates fixed, the surviving species have a new equilibrium N* = -Bs -1 rs . If any N* < 0 there is no feasible equilibrium and a cascade of extinctions follows (a species is declared extinct below N = 10-3 ). Otherwise the Jacobian becomes diag(N*)Bs and the page recomputes its eigenvalues.
Numerics. Eigenvalues come from a Hessenberg reduction plus shifted QR iterations; population dynamics from 4th-order Runge-Kutta, step 0.05, with N clamped to [0, 40] against run-away growth.
Honest simplifications. Interaction strengths are random numbers, not measurements; every species has the same self-limitation; there are no functional-response saturations, no stage structure, no space and no stochastic extinctions; the niche model reproduces a few statistics of real webs but is not a real food web. Whether complexity stabilises or destabilises real ecosystems is a long-running debate, and May's result is about random communities, not about any particular ecosystem. The animals are stylised pictures chosen by trophic tier, not species-specific models.
Platforms and animals were modelled and baked in Blender and rendered with Three.js. Independent educational model.
FPS – · – triangles ·