Numerical methods for first-order ordinary differential equations approximate solutions to initial value problems of the form
The result is approximations for the value of y ( t ) {\displaystyle y(t)} at discrete times t i {\displaystyle t_{i}} :
where h is the time step (sometimes referred to as Δ t {\displaystyle \Delta t} ).
We follow Butcher (2006), pp. 189–190 for our description, although we note that this method can be found elsewhere.
General linear methods make use of two integers: r {\displaystyle r} – the number of time points in history, and s {\displaystyle s} – the number of collocation points. In the case of r = 1 {\displaystyle r=1} , these methods reduce to classical Runge–Kutta methods, and in the case of s = 1 {\displaystyle s=1} , these methods reduce to linear multistep methods.
Stage values Y i {\displaystyle Y_{i}} and stage derivatives F i , i = 1 , 2 , … s {\displaystyle F_{i},\ i=1,2,\dots s} are computed from approximations y i [ n − 1 ] , i = 1 , … , r {\displaystyle y_{i}^{[n-1]},\ i=1,\dots ,r} at time step n {\displaystyle n} :
The stage values are defined by two matrices A = [ a i j ] {\displaystyle A=[a_{ij}]} and U = [ u i j ] {\displaystyle U=[u_{ij}]} :
and the update to time t n {\displaystyle t^{n}} is defined by two matrices B = [ b i j ] {\displaystyle B=[b_{ij}]} and V = [ v i j ] {\displaystyle V=[v_{ij}]} :
Given the four matrices A , U , B {\displaystyle A,U,B} and V {\displaystyle V} , one can compactly write the analogue of a Butcher tableau as
where ⊗ {\displaystyle \otimes } stands for the Kronecker product.
We present an example described in (Butcher, 1996).7 This method consists of a single "predicted" step and "corrected" step, which uses extra information about the time history, as well as a single intermediate stage value.
An intermediate stage value is defined as something that looks like it came from a linear multistep method:
An initial "predictor" y n ∗ {\displaystyle y_{n}^{*}} uses the stage value y n − 1 / 2 ∗ {\displaystyle y_{n-1/2}^{*}} together with two pieces of time history:
and the final update is given by
The concise table representation for this method is given by
Butcher, John C. (February–March 1996). "General linear methods". Computers & Mathematics with Applications. 31 (4–5): 105–112. doi:10.1016/0898-1221(95)00222-7. https://doi.org/10.1016%2F0898-1221%2895%2900222-7 ↩
Butcher, John (May 2006). "General linear methods". Acta Numerica. 15: 157–256. Bibcode:2006AcNum..15..157B. doi:10.1017/S0962492906220014. S2CID 125962375. /wiki/Bibcode_(identifier) ↩
Butcher, John (February 2009). "General linear methods for ordinary differential equations". Mathematics and Computers in Simulation. 79 (6): 1834–1845. doi:10.1016/j.matcom.2007.02.006. /wiki/Doi_(identifier) ↩
Butcher, John (2005). "General Linear Methods". Numerical Methods for Ordinary Differential Equations. John Wiley & Sons, Ltd. pp. 357–413. doi:10.1002/0470868279.ch5. ISBN 9780470868270. S2CID 2334002. 9780470868270 ↩
Butcher, John (1987). The numerical analysis of ordinary differential equations: Runge–Kutta and general linear methods. Wiley-Interscience. ISBN 978-0-471-91046-6. 978-0-471-91046-6 ↩
Jackiewicz, Zdzislaw (2009). General Linear Methods for Ordinary Differential Equations. Wiley. ISBN 978-0-470-40855-1. 978-0-470-40855-1 ↩
Butcher 1996, p. 107. - Butcher, John C. (February–March 1996). "General linear methods". Computers & Mathematics with Applications. 31 (4–5): 105–112. doi:10.1016/0898-1221(95)00222-7. https://doi.org/10.1016%2F0898-1221%2895%2900222-7 ↩