[SciPy-user] Solving Two boundary value problems with Python/Scipy

A. M. Archibald peridot.faceted at gmail.com
Fri Oct 6 10:12:55 CDT 2006


On 06/10/06, John Hassler <hasslerjc at adelphia.net> wrote:
> I don't think that there's a function specifically for boundary value
> ode problems in SciPy, but it is pretty simple to combine an ode solver
> with a zero finder to use the "shooting method."  I'm not familiar with
> how rlab or Matlab does it, but the Scilab "bvode" uses a finite
> difference method.  If the problem isn't too complex, the shooting
> method is easy to set up, and works as well as the finite difference
> method.  (In my vast experience ... well, ok, two applications ... the
> shooting method was more forgiving and less brittle than the finite
> difference method.)
>
> What sort of bvp do you have?
>
> john

It seems to me it would be useful for scipy to have an "odetools"
package, providing convenience features on top of our existing ODE
solvers (as well as a better fortran ODE solver, namely lsodar, but
that's beside the point).

Features could include:
* Implementation of the shooting method
* class ODESolution, which provides an interpolated function object
* An implementation (necessarily slow and limited) of the finite
difference method
* Tools for working with linear ODEs (generate a complete set of solutions, say)
* Tools for solving eigenvalue problems

Any other suggestions?

I've started thinking about how to do this, and written some prototype
code, but it would be a moderately big project. It should probably
mostly in python, because I imagine people will need to extend and
modify all the classes for their particular problems.

A. M. Archibald


More information about the SciPy-user mailing list