Closed gustavdelius closed 1 year ago
Experiments unfortunately show that this method is not viable. The proposed iterative scheme has a Jacobian with eigenvalues with a real part larger than 1. This divergence of the scheme can be understood as follows: consider a perturbation away from the steady state that decreases the abundance of some prey. This will lead to a reduced growth rate of the corresponding predators and thus and thus an increase in their number. In the next iteration the mortality from these predators will lead to a higher mortality on the prey and thus decrease their numbers further, and so on.
The idea is to use
steadySingleSpecies()
repeatedly, each time only moving part-way to the new solution. Perhaps the size of the change should be limited by a criterion on the relative change in the ratio between growth and death rate. Perhaps that should not be allowed to change by more than a certain factor either way in each iteration. How large that factor can be allowed to be without introducing instabilities in the procedure will require experimentation and perhaps a mathematical investigation. But with a good choice this procedure could be much faster than the currentsteady()
, especially if there are slow-growing species, and it could work also if the steady state is dynamically unstable.