# The rungekutta package

[ Tags: bsd3, library, numeric ] [ Propose Tags ]

This package contains a collection of explicit Runge-Kutta methods of various orders, some with fixed-size steps (no error estimate) and some intended for adaptive stepsize (ie, they include an error estimate). There are a couple of test programs which include some adaptive stepsize control, however there is not yet any such routine in the library itself. There is not yet much in the way of documentation. It's version 1.0.2 because the initial version wasn't cabalized.

## Properties

Versions 1.0.2 base (<5) [details] BSD3 Uwe Hollerbach Uwe Hollerbach Numeric Thu Apr 23 04:33:23 UTC 2009 by UweHollerbach NixOS:1.0.2 562 total (10 in the last 30 days) (no votes yet) [estimated by rule of succession] λ λ λ Docs not available Last success reported on 2017-01-01 Hackage Matrix CI

## Modules

• Numeric
• Numeric.RungeKutta

#### Maintainer's Corner

For package maintainers and hackage trustees

[back to package description]
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.