Version 1 (modified by pv, 4 years ago)

Page for drafting a decision on what to do with scipy.integrate.ode*

See Task #919

The scipy.integrate.ode/odeint API needs some cleanup. This page details a suggestion what a revised API should look like.

Problems with current api

  • ode is a class, odeint a function
  • ode has different semantics than odeint for the callback function

Proposed API

The idea would be to follow the lead of the scipy.interpolate API (cf. eg. KroghInterpolate).

  1. CamelCase classes Vode, Zvode, Dopri, etc., functionality similar to ode
  2. Thin wrapper functions vode, zvode, ..., with functionality similar to odeint

The second point could perhaps also be

  1. One wrapper function odeint (or something similar) with a suitable keyword argument.

Open questions

  • Are the named classes Vode etc. discoverable? (Having names of different solvers in class names is obscure.)