A Maxima function for solving initial value problems with adaptive step size and error control.
Subject: A Maxima function for solving initial value problems with adaptive step size and error control.
From: Panagiotis Papasotiriou
Date: Wed, 26 Oct 2011 21:52:19 +0300
I have added a copyright notice in rkf45, as requested. GPL license is
adopted, as I dislike proprietary software, so GPL seems a better choice
than LGPL (not to mention Maxima itself seems to be released in GPL.)
Also added a testsuite for rkf45. Expected results are obtained on a 64-bit
Debian GNU/Linux system, but I have tested it on a 32-bit system as well;
results differ slightly (I expected that), but the all tests are passed (I
needed to set float_approx_equal_tolerance to 2e-12 for that.)
The demo file was also upgraded, according to Maxima standards, and I took
the opportunity to do minor changes in the pdf documentation as well.
I think it is ready now. If it is going to be added in Maxima, I think the
best place is in share/numeric/. There is already a package there, called
"diffeq" which implements some simple numerical methods for solving
differential equations, but I think rkf45 should be put on a separate
package because implementation is completely different than that in diffeq.
It's up to you though.
I was told that the LaTeX source file for the pdf documentation will be
needed as well. If rkf45 is going to be added in share, I will post the
LaTeX source file as soon I will know where it is going to added (might need
to do minor changes depending on that.)
All necessary files can be downloaded from
https://sites.google.com/site/pjpapasot/maxima/libraries/rkf45