[SciPy-Dev] Consensus on the future of integrate.ode
Mon Sep 9 08:08:24 CDT 2013
> Even though the licenses are compatible, I'm not sure you'd want to incorporate elements of petsc4py into SciPy (although it would be incredibly cool to be able to use any of their extremely long list of ODE or DAE solvers).
PETSc seems powerful and I love the idea of having many solver than can take advantage of multiple cores. That is certainly very attractive. I agree with your downsides Geoff; it looks terrifying! This is compounded by the fact that I can't even tell how to solve a simple problem because the docs are poor (well not as friendly as scipy at least).
Here is what I think we should do:
1) Update interface to integrate.ode.
- see my suggestion here, https://gist.github.com/danieljfarrell/6482713
- comments welcomed
2) Make integrate.odeint a functional wrapper around integrate.ode.
- We should use the concept of 'event' from the MATLAB/sundials API here, it would be a nice addition.
3) Update the integrate.ode solvers
- replace VODE with CVODE
- add CODES
- add a DAE solver(s).
Point 3 is the most unclear. What technology do we use as the foundation?
We have mentioned (in not particular order),
* petsc4py, https://code.google.com/p/petsc4py/
* scikit.odes, http://cage.ugent.be/~bm/progs.html
* assimulo, http://www.jmodelica.org/assimulo
* casadi, https://github.com/casadi/casadi/wiki
I really don't know where we should start as I have used none of the above. Generally the higher level we start at the more quickly we can get things done. Maybe Geoff and Benny (and others) can comment.
More information about the SciPy-Dev