A Maxima function for solving initial value problems with adaptive step size and error control.



Dear community,

I have written a Maxima package for solving initial value problems. The
package implements a Maxima function called rkf45, which is an
implementation of the Runge-Kutta-Fehlberg method of 4th-5th order. It
provides adaptive step size and error control, which is something that is
currently missing in Maxima. The user doesn't need to care about the
integration step, as it is selected by the algorithm itself, so that the
error in solution returned should be smaller that a user-specified absolute
tolerance.
I have tested the function thoroughly, and it works very well. Although my
tries to translate the package failed so far (discussion about that is
already in the list,) the non-translated version is still very fast.
rkf45 comes with extensive documentation; in a 40-pages pdf file, the syntax
and several examples (for both non-stiff and stiff problems) are discussed
in detail.

Anyone who is interested on differential equations, please use the function,
if possible to solve difficult initial value problems (but not extremely
stiff, as the function implements an explicit method, and, as such, it is
not specifically designed for such kind of problems.) You should be able to
solve difficult problems easily. Any remarks or suggestions are more than
welcome.

I believe it would be nice if the function is added to maxima/share, as it
provides functionality not available in Maxima.

All necessary files can be found in my little website, at
https://sites.google.com/site/pjpapasot/maxima/libraries/rkf45
You will find the package itself, a demo file, and the documentation.