Initial- and boundary-value problems in Maxima.



On Fri, Sep 9, 2011 at 3:08 AM, Gregor Berman <g.n.berman at gmail.com> wrote:

> Hi there,
>
> I am looking for a decent Maxima numerical solver for initial-value
> problems, with adaptive step size and error control. As far I can tell,
> Maxima only has function rk() for this, but rk() is an implementation of a
> rather elementary 4th-order Runge-Kutta method, with constant step size and
> no error control. Such an algorithm is definitely not suitable for serious
> work.
> I am aware of excellent initial-value solvers implemented in Fortran, most
> notably LSODAR (included in ODEPACK <http://www.netlib.org/odepack>;),
> which I use extensively in my Fortran programs (it is also included in
> Scilab). I wonder if I can use something similar in Maxima. If not, any


It turns out that f2cl includes a translation of ODEPACK that passes the
odepack test cases.  I think LSODAR is included.  It would be possible to
integrate this with maxima, but it might take some time.

Furthermore, I tried Maxima's version of colnew to solve boundary-value
> problems. It seems to be a direct f2cl translation of the well-known Fortran
> code, but it doesn't seem
>
to work. Even the included examples prob1.mac and prob2.mac don't work as
> expected.


Could be code rot, but these tests did work at one point, and colnew was
known to work, even for the more difficult but interesting case of
restarting a solution from an old solution.  I will have to look up some old
emails and such to find out what happened and how to use it.

Ray