Each of the S nodes is a species; its population deviates from equilibrium by amount xi(t). Near equilibrium, deviations evolve under the linearized community model (Robert May, 1972):
dx/dt = A x
A_ii = −d (self-regulation / limited resources)
A_ij = σ·N(0,1) with prob. C (random interaction, i ≠ j)
A_ij = 0 otherwise (no direct link)
Every animation frame numerically integrates this system (Euler substeps, renormalized each step to prevent overflow) and accumulates ln‖x(t)‖ over elapsed simulated time. That running average converges to the real part of the dominant eigenvalue of A — the same quantity power iteration extracts — shown live as growth rate λ. λ < 0 means every perturbation decays back to equilibrium (stable); λ > 0 means it grows without bound (unstable).
May's celebrated result: for a large random network, the off-diagonal eigenvalues fill a disk of radius R = σ√(S·C) centered at −d in the complex plane (Girko's circular law), so the system is almost certainly stable only when R < d. This is the diversity–stability paradox — piling on more species (S), more connections (C), or stronger interactions (σ) makes a randomly wired ecosystem statistically less likely to be resilient, the opposite of the old "diversity begets stability" intuition. Real food webs dodge the trap through non-random structure: modularity, a skew toward many weak links and few strong ones, and feedback loops shaped by natural selection rather than chance.
- Left panel — network graph — species on a ring, edges colored by interaction sign and weighted by strength. Drag to pan, scroll/pinch to zoom.
- Right panel — eigenvalue disk — the theoretical circular-law disk (radius R, centered at −d) against the stability boundary Re(λ)=0; the measured λ is plotted as a marker on the real axis.
- Bottom panel — growth-rate trend — the running estimate of λ over recent simulated time.
- S / C / σ / d sliders — rebuild the random community matrix live; watch the disk and the verdict flip as R crosses d.
- Simulation speed — scales the integration time step, purely a viewing-speed control (does not change the physics).
- New random network — redraws a fresh random matrix at the current settings (same statistics, different realization).
- Perturb — kicks the current populations away from equilibrium without changing the network, so you can watch recovery (or collapse) in isolation.
Verified numerically (standalone script, 35 random trials across 7 (S,C,σ,d) settings spanning the stable/unstable boundary): the sign of the simulated growth-rate λ agreed with the R<d prediction in 33/35 trials, with the two disagreements occurring only where R≈d — exactly the finite-S variance the asymptotic circular law itself predicts near the boundary. No correction to May's formula was needed.