Numerical Methods for Solving the Lotka–Volterra Equations
Introduction
The Lotka–Volterra system arises in mathematical biology and models the growth of animal species. Consider two species where denotes the number of predators and denotes the number of prey. A particular case of the Lotka–Volterra differential system is
where the dot denotes differentiation with respect to time .
The Lotka–Volterra system (1) has an invariant , which is constant for all :
The level curves of the invariant (2) are closed so that the solution is periodic. It is desirable that the numerical solution of (3) is also periodic, but this is not always the case. Note that (4) is a Poisson system:
Poisson systems and Poisson integrators are discussed in Chapter VII.2 of [HLW02] and [MQ02].
Explicit Euler
Backward Euler
Projection
Splitting
Another approach for obtaining the correct qualitative behavior is to additively split (9) into two systems:
By appropriately solving (10) it is possible to construct Poisson integrators.
Symplectic Euler
Flows
Consider splitting the Lotka–Volterra equations and computing the flow (or exact solution) of each system in (12). The solutions can be found as follows, where the constants should be related to the initial conditions at each step.
An advantage of locally computing the flow is that it yields an explicit, and hence very efficient, integration procedure. The "LocallyExact" method provides a general way of computing the flow of each splitting using DSolve only during the initialization phase.