The Volterra-Lotka Equations

Lets explore a family of fractals created by mixing two different ideas, equations describing population dynamics and iterative methods for finding solutions to equations.

Population Dynamics

The first idea is based on the behaviour of a system of two populations in a predator-prey relationship. If the size of the population of prey increases then there is more food for the predators. If rabbits multiply, there is more food for foxes and so foxes become numerous. Now the rabbits get eaten up, the foxes become hungry and gradually diminish again. This type of periodic change in population size had been observed in nature, and is modelled by mathematical equations, called the Volterra-Lotka equations, named after the two people who, independently, discovered them.

Given the size of the two populations, the equations predict the future population sizes. For most initial conditions the populations exhibit the cyclic behaviour described above, but there is a balance point at which the populations remain stable.

Iterative Methods

The second idea in our recipe for the fractals is an iterative method for estimating the solution of an equation.

These methods provide rules, that given a guess at the answer, will find an even better guess. This better guess can then be plugged back into the rule to get an even better answer. We can continue this way until we get the required level of accuracy.

If you press the square-root button on an electronic calculator, then one of these iterative methods will be used to calculate the answer.

Many different methods have been invented, and we explore the effect of applying two of them to the Volterra-Lotka equations. We have written a little program to generate this family of fractals --- see it on our Volterra page.

The Equations

In their book “The Beauty of Fractals”, Peitgen and Richter suggest an iterative method that is a combination of two discrete one-step methods, Euler’s method and Heun’s method. They provide a composite formula with two constants, p and h. If p=0 we have Euler’s method, while if p=h then we have Heun’s method. The interesting things happen when other values of p and h are chosen.

The equation are :

newX = x + h/2( f(x,y) + f(x+pf(x,y), y+pg(x,y)))

newY = y + h/2( g(x,y) + g(x+pf(x,y), y+pg(x,y)))


f(x,y) = ax – bxy

g(x,y) = cy + dxy

For simplicity we can choose a=b=c=d=1