Anyone have a "little" shooting-method function to share

David L Goldsmith David.L.Goldsmith at noaa.gov
Wed Nov 8 18:08:17 CST 2006

```Hi!  I tried to send this earlier: it made it into my sent mail folder,
but does not appear to have made it to the list.

I need to numerically solve:
(1-t)x" + x' - x = f(t), x(0) = x0, x(1) = x1
I've been trying to use (because it's the approach I inherited) an
elementary finite-difference discretization, but unit tests have shown
that that approach isn't working.  After a little review, I believe I
understand the problem: near t=0, the thing is like an
case I'm sure is treated somewhere in the literature, but not as easily
findable as:) near t=1, the thing is like the advection-diffusion
equation I did easily find treated, namely one where advection
dominates.  Based on that treatment, I understand why an FD approach
(with a uniform grid) would fail around t=0, and from there it is easy
to accept that the fact that the thing changes its "nature" over the
course of its "life," implies that (a uniform grid) FD is probably not a
very good approach for this equation anywhere on its domain.  I could
try (and maybe will have to) a variable grid FD approach, but I'd first
like to try a "shooting" method (for some reason my intuition is telling
me that in this case this might be more efficient).  This is where you
all come in: I understand the algorithm and could (may have to) code it
myself, but if anyone out there already has code for this (in Python
using numpy, and preferably already under test), might you be willing to

David Goldsmith

PS: In the interim, I realized that if something like this "pre-exists"
in a module, that module might be scipy.  Sure enough, scipy has
integrate.ode and integrate.odeint; Google-ing scipy: integrate.odeint
help led me to Travis's 2004 "SciPy Tutorial," where I find "There are
many optional inputs and outputs available when using odeint which can
help tune the solver.  These additional inputs and outputs are not
needed much of the time, however..."  Well, is one of those inputs an
algorithm specifier?  Alternatively, is there a "shooting" algorithm
implemented elsewhere in scipy?

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier