MRKISS 2025-09-10
A tiny library with zero dependencies that aims to make it easy to use & experiment with explicit Runge-Kutta methods.
Loading...
Searching...
No Matches
mrkiss_erk_nystrom_5 Module Reference

Butcher tableau for Nystrom's 6 stage Runge-Kutta method of O(5). More...

Variables

integer, parameter s = 6
 The order of the overall method.
integer, parameter m = 1
 Number of methods.
real(kind=rk), dimension(s, s), parameter a
 The \(\mathbf{a}\) matrix for the Butcher Tableau.
real(kind=rk), dimension(s, m), parameter b
 The \(\mathbf{b}\) matrix for the Butcher Tableau.
real(kind=rk), dimension(s), parameter c
 The \(\mathbf{c}\) matrix for the Butcher Tableau.
integer, dimension(m), parameter p = [5]
 The method orders.
integer, dimension(m), parameter se = [6]
 Number of stages for each method.

Detailed Description

Butcher tableau for Nystrom's 6 stage Runge-Kutta method of O(5).

IMO
I have included this method mostly for historical and reference reasons. It is frequently used for comparisons and experiments in the literature.
Color commentary
This method was proposed in Kutta (1901), and later corrected by Nystrom (1925). The original appears in an exercise in Hairer et al. (2009).
Known Aliases
'RKN5', 'RK41' (Butcher), & 'The Runge-Kutta Method'.
Stability Image Links
References:
  • Kutta (1901); Beitrag Zur N"herungsweisen Integration Totaler Differentialgleichungen; Z. Math. Phys. 46; p435-53
  • Nystr"om (1925); Uber die numerische Integration von Differentialgleichungen; Acta Soc. Sci. Fennicae; 50(13);
  • Hairer, Norsett & Wanner (2009). Solving Ordinary Differential Equations. I: Nonstiff Problems; p155; zotero://select/items/0_VLZWN2CT
  • Butcher (2016); Numerical Methods for Ordinary Differential Equations. 3ed; p206; zotero://select/items/0_V7UTIRPT

Variable Documentation

◆ s

integer, parameter mrkiss_erk_nystrom_5::s = 6

The order of the overall method.

Definition at line 70 of file mrkiss_erk_nystrom_5.f90.

◆ m

integer, parameter mrkiss_erk_nystrom_5::m = 1

Number of methods.

Definition at line 72 of file mrkiss_erk_nystrom_5.f90.

◆ a

real(kind=rk), dimension(s,s), parameter mrkiss_erk_nystrom_5::a

The \(\mathbf{a}\) matrix for the Butcher Tableau.

Definition at line 74 of file mrkiss_erk_nystrom_5.f90.

74 real(kind=rk), parameter :: a(s,s) = reshape([ 0.0_rk, 0.0_rk, 0.0_rk, 0.0_rk, 0.0_rk, 0.0_rk, &
75 & 2700.0_rk, 0.0_rk, 0.0_rk, 0.0_rk, 0.0_rk, 0.0_rk, &
76 & 1296.0_rk, 1944.0_rk, 0.0_rk, 0.0_rk, 0.0_rk, 0.0_rk, &
77 & 2025.0_rk, -24300.0_rk, 30375.0_rk, 0.0_rk, 0.0_rk, 0.0_rk, &
78 & 600.0_rk, 9000.0_rk, -5000.0_rk, 800.0_rk, 0.0_rk, 0.0_rk, &
79 & 648.0_rk, 3888.0_rk, 1080.0_rk, 864.0_rk, 0.0_rk, 0.0_rk], [s, s]) / 8100.0_rk

◆ b

real(kind=rk), dimension(s,m), parameter mrkiss_erk_nystrom_5::b

The \(\mathbf{b}\) matrix for the Butcher Tableau.

Definition at line 81 of file mrkiss_erk_nystrom_5.f90.

81 real(kind=rk), parameter :: b(s,m) = reshape([ 23.0_rk, 0.0_rk, 125.0_rk, 0.0_rk, -81.0_rk, 125.0_rk], [s, m]) / 192.0_rk

◆ c

real(kind=rk), dimension(s), parameter mrkiss_erk_nystrom_5::c

The \(\mathbf{c}\) matrix for the Butcher Tableau.

Definition at line 83 of file mrkiss_erk_nystrom_5.f90.

83 real(kind=rk), parameter :: c(s) = [ 0.0_rk, 5.0_rk, 6.0_rk, 15.0_rk, 10.0_rk, 12.0_rk] / 15.0_rk

◆ p

integer, dimension(m), parameter mrkiss_erk_nystrom_5::p = [5]

The method orders.

Definition at line 85 of file mrkiss_erk_nystrom_5.f90.

◆ se

integer, dimension(m), parameter mrkiss_erk_nystrom_5::se = [6]

Number of stages for each method.

Definition at line 87 of file mrkiss_erk_nystrom_5.f90.