Numerical Methods for ODEs

backward Euler and BDF methods

/ BDF (bee-dee-EF) /

When a problem is stiff, explicit methods are helpless — their tiny stability regions force punishing step sizes. The workhorses that rescue you are implicit, and the simplest is backward Euler. It looks almost identical to ordinary Euler, with one tiny but decisive change: it uses the slope at the END of the step, not the start. That single shift transforms the method from one with a small stability region into one stable for the entire left half-plane — able to stride confidently across stiff terrain.

Precisely, backward Euler is y_(n+1) = y_n + h * f(t_(n+1), y_(n+1)). The new value sits on both sides (it is implicit), so each step solves an algebraic equation for y_(n+1), usually by Newton's method. It is only first order, like forward Euler, but it is A-stable: applied to y' = lambda y it gives y_(n+1) = y_n / (1 - h*lambda), whose magnitude stays at or below 1 for every lambda with negative real part, no matter how large h is. The backward differentiation formulas (BDF) generalise this idea: a BDF method fits a polynomial through the new point and several past VALUES (not slopes), then forces its derivative at the new point to equal f there. BDF1 is exactly backward Euler; BDF2 through BDF6 climb to higher order while keeping excellent stiff stability.

Backward Euler and the BDF family are the standard tools for stiff problems and the heart of production stiff solvers (the famous codes built on them are used everywhere in chemistry, electronics, and engineering). The trade-off is honest: implicit steps cost more — you solve an equation each step — and BDF methods above order 2 are not A-stable but only stiffly stable (still excellent for genuine stiffness). You pay per step but win overall, because you can take giant steps an explicit method could never survive.

Backward Euler on y' = -100 y, y(0) = 1: y_(n+1) = y_n - 100 h y_(n+1), so y_(n+1) = y_n / (1 + 100 h). At h = 0.1 this gives 1, 0.0909, 0.0083, ... — decaying and stable, exactly as the true e^(-100t) should. Forward Euler at the same h gives 1, -9, 81, ... — exploding garbage.

Use the end-of-step slope — A-stable, the cure for stiffness.

Backward Euler's stability does not mean accuracy — it is only first order and damps fast transients aggressively, which can over-smooth a solution. And BDF methods above order 2 lose A-stability; only BDF1 and BDF2 are A-stable.

Also called
implicit Eulerbackward differentiation formulas後向尤拉後向差分公式