Lotka-Volterra Predator-Prey Model
Explore how two interacting species oscillate — adjust parameters to see closed orbits in phase space and periodic population dynamics over time.
The Model
The Lotka-Volterra system models two interacting species: a prey population \(x(t)\) and a predator population \(y(t)\). In the absence of predators, prey grow exponentially at rate \(\alpha\). Predators consume prey at a rate proportional to the product \(xy\), governed by \(\beta\) and \(\delta\). Without prey, predators die at rate \(\gamma\):
Parameters
- \(\alpha\) — prey natural growth rate (births per individual per unit time)
- \(\beta\) — predation rate (prey killed per predator per unit time)
- \(\gamma\) — predator natural mortality rate (deaths per individual per unit time)
- \(\delta\) — predator reproduction rate per prey consumed
- \(x_0, y_0\) — initial populations of prey and predators
Equilibria
The system has two equilibria. The trivial equilibrium \((0,0)\) is a saddle point. The interior (coexistence) equilibrium is
At this point both populations are constant. The Jacobian at \((x^*, y^*)\) has purely imaginary eigenvalues \(\pm i\sqrt{\alpha\gamma}\), confirming it is a centre — all nearby trajectories are closed orbits (periodic oscillations). This periodicity is not structural stability: any perturbation to the model (e.g. logistic prey growth, harvesting) generically destroys it.
Conservation Law
The Lotka-Volterra system has a first integral (conserved quantity):
Level curves of \(V\) are exactly the closed orbits in phase space. Because \(V\) is strictly convex with a global minimum at \((x^*, y^*)\), all orbits encircle the equilibrium.
Phase Portrait
The left plot shows the trajectory in the \((x, y)\) plane (phase space). Closed orbits indicate periodic population oscillations. The purple dot marks the coexistence equilibrium. The right plot shows \(x(t)\) and \(y(t)\) over time — note the characteristic quarter-period lag: prey peak before predators.
Numerical Method
The system is integrated with classical 4th-order Runge-Kutta (RK4) using step size \(\Delta t = 0.01\) for 8000 steps (80 time units). RK4 is explicit and non-symplectic; for the Lotka-Volterra system it conserves \(V\) to \(O(\Delta t^4)\) per step, accumulating slowly over long integration times. For rigorous conservation a symplectic or variational integrator would be preferred.
How to Use
- Adjust any parameter using the slider or the number box. Plots update instantly.
- Start from the default values (\(\alpha=0.1,\beta=0.002,\gamma=0.2,\delta=0.0025\)), then increase \(\beta\) to see faster predation cycles.
- Move the initial conditions \((x_0, y_0)\) further from equilibrium to trace a larger orbit.
- Click Reset defaults to restore all parameters.