Multi-Step Methods

Work in progress. This note is still being written and incomplete.

A multi-step method computes wi+1w_{i+1} from several previous approximations, not just wiw_i. More accurate earlier approximations are then folded into the current step.

An mm-step method for the IVP y(t)=f(t,y)y'(t) = f(t, y) has a difference equation

wi+1=am1wi+am2wi1++a0wi+1m+h[bmf(ti+1,wi+1)+bm1f(ti,wi)++b0f(ti+1m,wi+1m)]\begin{aligned} w_{i+1} = {}& a_{m-1} w_i + a_{m-2} w_{i-1} + \cdots + a_0 w_{i+1-m} \\ & + h\big[ b_m f(t_{i+1}, w_{i+1}) + b_{m-1} f(t_i, w_i) + \cdots + b_0 f(t_{i+1-m}, w_{i+1-m}) \big] \end{aligned}

for i=m1,m,,N1i = m-1, m, \ldots, N-1, with constants a0,,am1a_0, \ldots, a_{m-1} and b0,,bmb_0, \ldots, b_m, and h=baNh = \dfrac{b-a}{N}.

Starting values w0=αw_0 = \alpha and w1,,wm1w_1, \ldots, w_{m-1} come from a one-step method such as Runge-Kutta.

Explicit and Implicit Methods

  • Explicit
    bm=0b_m = 0. wi+1w_{i+1} is given directly by previously determined values.
  • Implicit
    bm0b_m \neq 0. wi+1w_{i+1} appears on both sides and must be solved for.

Adams Methods

Integrating y=f(t,y)y' = f(t, y) over [ti,ti+1][t_i, t_{i+1}]

y(ti+1)=y(ti)+titi+1f(t,y(t))dty(t_{i+1}) = y(t_i) + \int_{t_i}^{t_{i+1}} f(t, y(t))\, \text{d}t

f(t,y(t))f(t, y(t)) is unknown, so it is replaced by a polynomial interpolating the mm most recent points, which is then integrated.

Below, fk=f(tk,wk)f_k = f(t_k, w_k) and μi\mu_i lies in the interval spanned by the points used.

Adams-Bashforth Explicit Methods

2-step, with τi+1(h)=512y(μi)h2\tau_{i+1}(h) = \dfrac{5}{12} y'''(\mu_i) h^2

wi+1=wi+h2[3fifi1]w_{i+1} = w_i + \frac{h}{2}\left[ 3 f_i - f_{i-1} \right]

3-step, with τi+1(h)=38y(4)(μi)h3\tau_{i+1}(h) = \dfrac{3}{8} y^{(4)}(\mu_i) h^3

wi+1=wi+h12[23fi16fi1+5fi2]w_{i+1} = w_i + \frac{h}{12}\left[ 23 f_i - 16 f_{i-1} + 5 f_{i-2} \right]

4-step, with τi+1(h)=251720y(5)(μi)h4\tau_{i+1}(h) = \dfrac{251}{720} y^{(5)}(\mu_i) h^4

wi+1=wi+h24[55fi59fi1+37fi29fi3]w_{i+1} = w_i + \frac{h}{24}\left[ 55 f_i - 59 f_{i-1} + 37 f_{i-2} - 9 f_{i-3} \right]

5-step, with τi+1(h)=95288y(6)(μi)h5\tau_{i+1}(h) = \dfrac{95}{288} y^{(6)}(\mu_i) h^5

wi+1=wi+h720[1901fi2774fi1+2616fi21274fi3+251fi4]w_{i+1} = w_i + \frac{h}{720}\left[ 1901 f_i - 2774 f_{i-1} + 2616 f_{i-2} - 1274 f_{i-3} + 251 f_{i-4} \right]

Adams-Moulton Implicit Methods

2-step, with τi+1(h)=124y(4)(μi)h3\tau_{i+1}(h) = -\dfrac{1}{24} y^{(4)}(\mu_i) h^3

wi+1=wi+h12[5f(ti+1,wi+1)+8fifi1]w_{i+1} = w_i + \frac{h}{12}\left[ 5 f(t_{i+1}, w_{i+1}) + 8 f_i - f_{i-1} \right]

3-step, with τi+1(h)=19720y(5)(μi)h4\tau_{i+1}(h) = -\dfrac{19}{720} y^{(5)}(\mu_i) h^4

wi+1=wi+h24[9f(ti+1,wi+1)+19fi5fi1+fi2]w_{i+1} = w_i + \frac{h}{24}\left[ 9 f(t_{i+1}, w_{i+1}) + 19 f_i - 5 f_{i-1} + f_{i-2} \right]

4-step, with τi+1(h)=3160y(6)(μi)h5\tau_{i+1}(h) = -\dfrac{3}{160} y^{(6)}(\mu_i) h^5

wi+1=wi+h720[251f(ti+1,wi+1)+646fi264fi1+106fi219fi3]w_{i+1} = w_i + \frac{h}{720}\left[ 251 f(t_{i+1}, w_{i+1}) + 646 f_i - 264 f_{i-1} + 106 f_{i-2} - 19 f_{i-3} \right]

Predictor-Corrector Method

Implicit methods usually cannot be solved for wi+1w_{i+1} in closed form. An explicit method and an implicit method are combined.

  • Predict
    Compute wi+1(p)w_{i+1}^{(p)} with an explicit method.
  • Correct
    Substitute wi+1(p)w_{i+1}^{(p)} into the right side of an implicit method to get wi+1w_{i+1}.

A standard choice uses Runge-Kutta for the starting values, Adams-Bashforth 4-step as predictor, and Adams-Moulton 3-step as corrector. This is more accurate than either Adams method used alone.

Worked Example

IVP y(t)=yt2+1y'(t) = y - t^2 + 1, 0t20 \leq t \leq 2, y(0)=0.5y(0) = 0.5, with h=0.2h = 0.2, by Adams-Bashforth 2-step. Exact solution y(t)=(t+1)20.5ety(t) = (t+1)^2 - 0.5 e^t, used only to check the result.

The 2-step method needs w0w_0 and w1w_1 before it can start. w0=α=0.5w_0 = \alpha = 0.5 is given; w1w_1 is computed with one step of order 4 Runge-Kutta.

Starting value w1w_1 by Runge-Kutta, t0=0t_0 = 0, w0=0.5w_0 = 0.5

k1=0.2f(0, 0.5)=0.3k2=0.2f(0.1, 0.5+0.15)=0.328k3=0.2f(0.1, 0.5+0.164)=0.3308k4=0.2f(0.2, 0.5+0.3308)=0.35816w1=0.5+16(k1+2k2+2k3+k4)=0.829293\begin{aligned} k_1 &= 0.2\, f(0,\ 0.5) = 0.3 \\ k_2 &= 0.2\, f(0.1,\ 0.5 + 0.15) = 0.328 \\ k_3 &= 0.2\, f(0.1,\ 0.5 + 0.164) = 0.3308 \\ k_4 &= 0.2\, f(0.2,\ 0.5 + 0.3308) = 0.35816 \\ w_1 &= 0.5 + \tfrac{1}{6}\left( k_1 + 2k_2 + 2k_3 + k_4 \right) = 0.829293 \end{aligned}

Step to t2=0.4t_2 = 0.4 by Adams-Bashforth

f0=w00.02+1=1.5f1=w10.22+1=1.789293w2=w1+0.22[3f1f0]=0.829293+0.1(3.867879)=1.216081\begin{aligned} f_0 &= w_0 - 0.0^2 + 1 = 1.5 \\ f_1 &= w_1 - 0.2^2 + 1 = 1.789293 \\ w_2 &= w_1 + \frac{0.2}{2}\left[ 3 f_1 - f_0 \right] = 0.829293 + 0.1\,(3.867879) = 1.216081 \end{aligned}

Exact y(0.4)1.214088y(0.4) \approx 1.214088.

Written by September 13, 2026 4 min read
Was this helpful?