Numerical Methods for ODEs

a linear multistep method

A Runge-Kutta step throws away everything it learned and re-samples the slope from scratch each step. But you already computed and stored the slopes at the last several points — why not reuse them? A linear multistep method does exactly that: it predicts the next value from a weighted combination of several PAST values and past slopes, getting high accuracy from cheap history instead of fresh evaluations.

The general form combines the last k solution values and slopes: sum of alpha_j*y_{n+j} = h * sum of beta_j*f_{n+j}, where the alphas and betas are fixed coefficients and f_j = f(t_j, y_j). Two famous families: the ADAMS-BASHFORTH methods are EXPLICIT — they use only already-known past slopes to predict the new value, e.g. the two-step formula y_{n+1} = y_n + (h/2)*(3*f_n - f_{n-1}), which extrapolates the slope trend. The ADAMS-MOULTON methods are IMPLICIT — they also include the slope f_{n+1} at the new, unknown point, e.g. the one-step trapezoidal rule y_{n+1} = y_n + (h/2)*(f_n + f_{n+1}), which is more accurate and more stable but requires solving for y_{n+1}. A k-step method needs k starting values, so it cannot start itself — you bootstrap it with a Runge-Kutta method.

The big appeal is COST: because they reuse stored slopes, multistep methods reach high order with only ONE new f-evaluation per step (versus four for RK4), which is a major saving when f is expensive. That is paired with predictor-corrector pairings and is why high-order Adams methods underlie many production solvers. The honest costs: they need a separate starter and extra memory for the history; they are awkward with changing step size (the coefficients assume a fixed h); and explicit ones are still only conditionally stable. For stiff problems the special multistep family you want is the backward-differentiation formulas (BDF).

Two-step Adams-Bashforth on y' = y, given y_0 = 1 (start) and a one-RK4-step y_1 = 1.10517 at h = 0.1: f_0 = 1, f_1 = 1.10517, so y_2 = y_1 + (0.1/2)*(3*1.10517 - 1*1) = 1.10517 + 0.05*(2.3155) = 1.2210. The true e^0.2 = 1.2214 — second-order accuracy from just one new slope per step, by reusing the stored f_0.

Reuse stored past slopes to step forward cheaply: one new f-evaluation buys high order.

A k-step method is not self-starting — it needs k initial values, usually generated by a one-step (Runge-Kutta) method, and changing the step size mid-run is awkward because the fixed coefficients assume uniform spacing. These bookkeeping costs are the price of cheap-per-step high order.

Also called
multistep methodAdams-BashforthAdams-MoultonLMM多步法亞當斯法