Numerical Methods for ODEs

a predictor-corrector method

Implicit methods are accurate and stable, but their implicitness is annoying — to find the new value you have to solve an equation in which it is buried. A predictor-corrector method finesses this with a two-stage move: first make a quick rough GUESS with a cheap explicit formula, then plug that guess in to evaluate the slope and apply the implicit formula ONCE as a correction. You get most of the implicit method's accuracy without solving anything from scratch.

The classic pairing is an Adams-Bashforth predictor with an Adams-Moulton corrector. PREDICT: use the explicit Adams-Bashforth formula to get a provisional y*_{n+1} from past slopes. EVALUATE: compute the slope there, f*_{n+1} = f(t_{n+1}, y*_{n+1}). CORRECT: feed that slope into the implicit Adams-Moulton formula to get the improved y_{n+1}. (Optionally EVALUATE once more for the next step's slope.) This PECE sequence (Predict-Evaluate-Correct-Evaluate) replaces the implicit equation's exact solve with a single fixed-point step — cheap, because for a non-stiff problem one correction is enough to inherit the corrector's order and much of its stability. The difference between predictor and corrector also doubles as a local error estimate to drive step-size control.

Predictor-corrector pairs were the backbone of classical high-order ODE solvers and remain common for non-stiff problems where f is expensive (they use just one or two f-evaluations per step). The honest caveat is the limit of the trick: a single correction works only because, for a non-stiff problem with a modest step, the fixed-point iteration converges. For a STIFF problem the corrector iteration does NOT converge in one pass (you would need many iterations, defeating the point), so on stiff equations you must abandon the predictor-corrector shortcut and solve the implicit BDF equation properly with Newton's method.

A simple PECE step on y' = y: PREDICT with explicit Euler y* = y_n + h*f_n; EVALUATE f* = y*; CORRECT with the trapezoidal rule y_{n+1} = y_n + (h/2)*(f_n + f*). With y_n = 1, h = 0.1: predict y* = 1.1, f* = 1.1, correct y_1 = 1 + 0.05*(1 + 1.1) = 1.105. The true e^0.1 = 1.10517 — the single correction lifts the cheap Euler predictor to second-order accuracy.

Guess cheaply with an explicit formula, then correct once with an implicit one.

One correction inherits the corrector's order ONLY for non-stiff problems where the fixed-point iteration converges. On a stiff problem the corrector iteration diverges in a single pass, so predictor-corrector is the wrong approach — solve the implicit equation directly with Newton instead.

Also called
PECE schemepredictor-corrector pairAdams-Bashforth-Moulton預估-修正法PC法