Math 2.0

Numerical analysis Ordinary differential equations Proposition

Runge–Kutta–Fehlberg method

Builds on Runge–Kutta methodsButcher tableauLocal truncation errorAdaptive step size

Statement

Consider the explicit six-stage Butcher tableau with two weight rows

0141438332932121319322197−72002197729621971439216−83680513−845410412−8272−3544256518594104−1140bT2521601408256521974104−150b^T1613506656128252856156430−950255\begin{array}{c|cccccc} 0 \\ \frac14 & \frac14 \\ \frac38 & \frac{3}{32} & \frac{9}{32} \\ \frac{12}{13} & \frac{1932}{2197} & -\frac{7200}{2197} & \frac{7296}{2197} \\ 1 & \frac{439}{216} & -8 & \frac{3680}{513} & -\frac{845}{4104} \\ \frac12 & -\frac{8}{27} & 2 & -\frac{3544}{2565} & \frac{1859}{4104} & -\frac{11}{40} \\ \hline b^{T} & \frac{25}{216} & 0 & \frac{1408}{2565} & \frac{2197}{4104} & -\frac15 & 0 \\ \hat b^{T} & \frac{16}{135} & 0 & \frac{6656}{12825} & \frac{28561}{56430} & -\frac{9}{50} & \frac{2}{55} \end{array}

Then:

  1. the Runge–Kutta method with weights bb has order 44, and the one with weights b^\hat b has order 55;
  2. both use the same six stages K1,…,K6K_1, \ldots, K_6, so a step gives yn+1=yn+h∑ibiKiy_{n+1} = y_n + h \sum_i b_i K_i and y^n+1=yn+h∑ib^iKi\hat y_{n+1} = y_n + h \sum_i \hat b_i K_i for six evaluations of ff;
  3. the difference y^n+1−yn+1\hat y_{n+1} - y_{n+1} equals the local truncation error of the fourth-order step up to a term O(h6)O(h^6), for ff smooth enough.

Remarks

Clause 1 is checked against Butcher's order conditions. There are 88 conditions for the trees with at most 44 vertices, for bb, and 1717 for the trees with at most 55 vertices, for b^\hat b. For instance ∑bi=∑b^i=1\sum b_i = \sum \hat b_i = 1 and ∑b^ici4=15\sum \hat b_i c_i^4 = \frac15. Clause 3 follows from clause 1: the local errors of the two steps are O(h5)O(h^5) and O(h6)O(h^6), so their difference is the first one up to O(h6)O(h^6). The estimate drives adaptive step size control: a step is accepted when the estimate is below the tolerance, and the next step is scaled by about (tol/err)1/5(\mathrm{tol}/\mathrm{err})^{1/5}. Erwin Fehlberg proposed such embedded pairs in 1969; in his original use the fourth-order value is propagated, while many codes propagate the fifth-order value.

Going deeper

For a student

This is the classic example of an embedded Runge–Kutta pair, often called RKF45. It was largely replaced in modern software by the Dormand–Prince method, whose coefficients are tuned to make the error of the fifth-order solution small and which reuses the last stage. The idea of embedding, two weight vectors on one set of stages, is the basis of nearly all explicit adaptive ODE solvers.

Reading path

To understand this page from the ground up, read these 5 pages in order. The foundations come first.

Show the path as a graph
Each page uses the pages above it. The colour of the bar on a box shows how strong the evidence is, and the box also gives it as text. The list has the same pages.
  • no evidence level
  1. Adaptive step size concept
  2. Butcher tableau concept
  3. Local truncation error concept
  4. Runge–Kutta methods concept
  5. Runge–Kutta–Fehlberg method statement

Further reading

  1. Web https://en.wikipedia.org/wiki/Runge%E2%80%93Kutta%E2%80%93Fehlberg_method
About this page
Tag6D73FFD9DC
URIm2://6D73FFD9DC
Kindstatement, proposition
WritingW0 stub
MSC65L06, 65L05, 65L50
StatusThis copy of the site has no build data. Run m2 status 6D73FFD9DC.
AboutRunge–Kutta methods
UsesRunge–Kutta methods, Butcher tableau, Local truncation error, Adaptive step size
Same as

Markdown · JSON · Edit on GitHub

What this page needs for W1

  • an inventory row: the row of the inventory that the node accounts for (0 of 1)
  • a source with a locator (0 of 1)

The writing levels say how complete the text of a page is. They do not measure its truth.

What links here

No page links to this page yet.