[SciPy-dev] some new ode solvers

Robert Kern robert.kern at gmail.com
Sun Feb 22 19:21:07 EST 2009


On Sun, Feb 22, 2009 at 17:56, John Travers <jtravs at gmail.com> wrote:
> Hi All,
>
> Attached is a patch which adds two new ODE solvers to the
> scipy.integrate.ode module.
> The solvers are dopri5 and dop853, which are explicit Runge-Kutta
> pairs originally developed
> by Dormand and Prince. The fortran code was downloaded from:
>
> http://www.unige.ch/~hairer/software.html
>
> The license is clearly BSD and SciPy compatible.
>
> These are excellent solvers, described in detail in the authors book:
>
> Solving Ordinary Differential Equations. Nonstiff Problems. 2nd
> edition. Springer Series in Comput. Math., vol. 8.
>
> The dopri5 code is what Matlab's ode45 is based on.
>
> I think they would be a good addition to SciPy and I have used them
> often (in Fortran). The attached patch tries
> to follow the (somewhat strange to me) coding practices of the current
> ode module. I have added them to the
> test suite, but note that there are not many tests! (I might add some
> if I get time). I have also tested them with
> my own code which uses the ode module.
>
> If I get the go ahead from some regular SciPy contributers then I'll
> go ahead and commit this patch. I think I still
> have SVN access, but I wanted this pacth to be reviewed first as it
> has been a long time since I did anything with
> SciPy.

* Typo: "first 0rder"

* You're missing dop.pyf

* I don't like the conditional imports inside the classes.

* Don't print things. Use warnings.warn() if you must.

But otherwise, +1.

-- 
Robert Kern

"I have come to believe that the whole world is an enigma, a harmless
enigma that is made terrible by our own mad attempt to interpret it as
though it had an underlying truth."
  -- Umberto Eco



More information about the SciPy-Dev mailing list