[SciPy-User] Speeding up odeint for big problems

Sebastian Walter sebastian.walter@gmail....
Mon Sep 27 16:58:47 CDT 2010

Well, my first guess would be that the Jacobian computation (+ its
factorizations) is the culprit since it is a 10000x10000 array for
10000 coupled ODEs.
Leaves the questions how many times the Jacobian is computed? At each
step of the integration?
Then it would be no surprise that the runtime is really high.

What kind of spatial discretization are you using to get a dense Jacobian?

On Mon, Sep 27, 2010 at 8:02 AM, Justin Bois <justinbois@gmail.com> wrote:
> Hello all,
> I'm using odeint to solve a system of PDEs using the method of lines.  This
> works well for problems in one dimension where there are about ~10^2 coupled
> ODEs.  In 2D, I have ~10^4, and speed is a major issue.  Does anyone have
> any general tips on ways to optimally use odeint to solve large problems
> using method of lines?  Some useful info/questions about my problem:
> --The Jacobian is dense, even if I use finite differencing for the spatial
> derivatives.
> --Using something like PyDSTool might be difficult to implement because I
> need many of SciPy's handy functions like FFTs, etc.
> --I'm worried I might be wasting time by passing a large object as an
> argument to the RHS function.  This is out of convenience because it
> contains useful information about the problem.  Does odeint do type
> conversions on all attributes/methods of the input argument, or only on what
> is needed?  Would paring down the input save time?
> Any input is greatly appreciated.  I'd really like to avoid having to code
> this up in C.
> Best,
> Justin
> _______________________________________________
> SciPy-User mailing list
> SciPy-User@scipy.org
> http://mail.scipy.org/mailman/listinfo/scipy-user

More information about the SciPy-User mailing list