# Contents

## Idea

I want to showing an easy way of doing predator-prey modeling in Sage. Right now it is a dimensionless version and one version which is the competitive Lotka-Volterra.

## Details

### Original Lotka-Volterra

This is the original Lotka-Volterra phase map for a non-dimensional form. This was posted on Marshall Hampon on the ask.sagemath.org site. The original Lotka-Volterra equations has many coarse “flaws” and has also been modified over time as we’ll see below. Dimensionless format of Lotka-Volterra. The default for Sage ode_solver() is to use runga-kutta-felhberg (4,5) to find solutions

### Plot and Code

This is the phase plot for prey on the x-axis and predator on the y-axis.

### Interactive and more realistic Lotka-Volterra

We first add a parameter g which is used in the to control the effect of the growth of the number of predator. For g=1 I got a similar plot as the first one above.

def lv(g,k=None):
Tg = ode_solver()
Tg.function = lambda t, y: [y[0]*(1 - y[1]), -g*y[1] + y[0]*y[1]]
sol_lines = Graphics()
for i in srange(0.1,1.1,.2):
Tg.ode_solve(y_0=[i,i],t_span=[0,10],num_points=10^3)
y = Tg.solution
sol_lines += line([x[1] for x in y], rgbcolor = (i,i,0))
return sol_lines

@interact
def lv_explorer(gamma = (0.,1.,0.1)):
#html("equilibrium points are is %.2f" % k)
show(lv(gamma))


Try to see what happens for small values of g. Also see if you can find a way to show time plots for predator and prey in the same plot.

Here is my plot of varying g:

### Next step

We will add some better model of growth and look at cases where Lotka-Volterra might lead to Hopf bifurcation and also see if we can add the Allee effect.

### References

category: experiments