rungekutta: A collection of explicit Runge-Kutta methods of various orders

[ 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.

[Skip to Readme]


  • Numeric
    • Numeric.RungeKutta


Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


  • No Candidates
Versions [RSS] 1.0.2
Dependencies base (<5) [details]
License BSD-3-Clause
Author Uwe Hollerbach <>
Maintainer Uwe Hollerbach <>
Category Numeric
Uploaded by UweHollerbach at 2009-04-23T04:33:23Z
Distributions NixOS:1.0.2
Reverse Dependencies 1 direct, 0 indirect [details]
Downloads 1146 total (4 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
Last success reported on 2017-01-01 [all 8 reports]

Readme for rungekutta-1.0.2

[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.