I have a system of ~100 ODEs. They represent interactions between species in an ecosystem. Each species interacts only with a small set of other species, so the matrix of interactions is relatively empty (~65% zeros). I'm trying to improve the speed of integration by using the option 'JPattern' in odeset, as:
where A is a 0 and 1 square matrix in which Aij= 1 means variables i and j interact. However, including 'JPattern' in the options actually increases execution time by a factor of 2: from 4.8 sec. to 9.7 sec. in average. It happens with at least several ODE solvers. Shouldn't the execution time reduce at least somewhat? Does the matrix A need to have some level of 'sparsiness' to improve the speed? Any ideas what am I doing wrong here?