@hackage rungekutta1.0.2

A collection of explicit Runge-Kutta methods of various orders

This is a small module collecting about a dozen Runge-Kutta methods of different orders, along with a couple of programs to exercise them.

Build and run testrk, volterra, volterra2, and arenstorf:

o testrk exercises all of the methods in a non-adaptive way, solving a test problem with a known analytic solution, to check convergence. (This was what first indicated that there was a problem with the Fehlberg 7(8) listing in HNW.)

o volterra uses a non-adaptive method to solve the Lotka-Volterra equations from t=0 to t=40: either from a built-in starting point, or from a starting point specified on the command line.

o volterra2 does the same, except it uses an adaptive solver

o arenstorf solves the restricted 3-body problem (earth+moon+satellite) using an adaptive solver with some specific initial conditions which yield periodic orbits

The volterra2 and arenstorf examples use an "oracle" function to decide what is a good step size. Right now that oracle function is in each test file; arguably it should be in the RungeKutta module. Eventually it will be, but I haven't spent much time yet on making that oracle especially good.