This recovers forward Euler. Freezing at the right endpoint
s=tn+1 instead gives backward Euler.
Higher-order quadrature rules (midpoint, Simpson, etc.) lead to
higher-order ODE methods.
Each step follows a tangent to a (possibly different) solution curve.
Top: Forward Euler solution of u′=2u. Each step follows a tangent line to a different solution curve (colored), corresponding to the ODE solution with a different initial condition passing through (tn,un). The numerical solution (black) underestimates the exact solution (blue) because the tangent line falls below the convex exponential. Bottom: Backward Euler for the same problem.
Before analyzing the algorithm’s accuracy, we should ask: how sensitive is the problem itself?
The colored curves in the figure above are exact solutions of the same ODE with different initial conditions. How quickly do nearby solutions diverge or converge?
This is the same condition that the Picard-Lindelöf theorem requires to guarantee existence and uniqueness of ODE solutions. It is not a coincidence: the convergence proof essentially re-derives the Picard iteration in discrete form. The Lipschitz constant L controls both how quickly nearby solution curves diverge and how quickly numerical errors can grow.
The factor eLT is the condition number of the IVP. It is a property of the problem, not the algorithm:
If L>0: nearby solution curves diverge. Small perturbations grow exponentially, and eLT can be very large. The problem is ill-conditioned over long times.
If L<0: nearby solution curves converge. Perturbations are damped, and eLT<1. The problem is well-conditioned.
If L=0 (e.g., u′=g(t)): solution curves are parallel. Errors neither grow nor shrink.
No numerical method can do better than the problem allows. We will see this same factor reappear in the convergence bound (Theorem 1).
If we take a single step of forward Euler starting from the exact solution, how far off are we? The local truncation error measures this per-step accuracy: the error committed in one step, assuming we started with the exact answer.
This is the same notion of “order of accuracy” we saw for finite differences: the forward difference hf(x+h)−f(x) approximates f′(x) with error O(h). Forward Euler is a forward difference applied to du/dt, so it inherits that same first-order accuracy.
The local truncation error tells us how accurate a single step is. But we take many steps, so the real question is: do these per-step errors accumulate controllably, or do they blow up?
The global error is the cumulative effect of all one-step errors. Two things determine its size:
Error accumulation: Recall that the one-step error is Ln=hτn=O(hp+1). Over N=T/h steps, these pile up: N×O(hp+1)=O(hp).
Stability: Local errors don’t just add up; each one gets amplified by subsequent steps. If the amplification factor is bounded, errors accumulate gently (O(hp)). If it exceeds 1, errors grow exponentially and the method is useless.
Example 2 (Error Propagation for the Linear Test Problem)
Consider the linear test problem u′=λu+g(t). The exact solution satisfies:
This is the discrete Duhamel principle: the global error at step n equals the initial error propagated forward, plus all local truncation errors propagated by the appropriate powers of the amplification factor R=1+hλ.
Both ingredients are visible here:
Accumulation: Each τj contributes to En. The sum has n terms.
Stability: Each τj is amplified by Rn−1−j. If ∣R∣≤1, these powers are bounded and errors stay controlled. If ∣R∣>1, the earliest errors get amplified the most and the sum explodes.
The three ingredients have names that we will formalize when we study
linear systems:
Backward error = the one-step error Ln=O(h2).
The numerical solution does not satisfy the original ODE, but it
does satisfy a nearby, perturbed ODE. A method with small
Ln solves a problem close to the original.
Forward error = the global error En=un−u(tn), the
quantity we actually care about: how far is our answer from the truth?
Condition number = eLT, the amplification factor. The
Lipschitz constant L measures how sensitive the ODE is to
perturbations. This is a property of the problem, not the algorithm.
Small backward error does not automatically guarantee small forward
error. It depends on whether the problem amplifies or damps per-step
perturbations.
The convergence theorem guarantees that errors vanish as h→0. But in practice we use a fixed step size. Can errors grow from step to step?
The error propagation example (Example 2) already answered this for the linear problem u′=λu+g(t): the error at each step is multiplied by the amplification factorR=1+hλ. If ∣R∣>1, errors grow exponentially and the method is useless.
This is why the scalar test equationu′=λu plays a central role. Any smooth ODE is locally linear (by Taylor expansion), so the behavior of a method on u′=λu reveals its stability properties in general. Applying forward Euler gives
When ∣λ∣ is large, the stability constraint h≤2/∣λ∣
forces extremely small step sizes even when the solution itself varies
slowly. Stiffness is not about the solution being complicated; it is
about the equation pulling toward a slow manifold so aggressively that
explicit methods cannot keep up.
The convergence theorem (Theorem 1) uses the
Lipschitz constant L=∣λ∣ as its measure of problem
sensitivity. For stiff problems this gives a catastrophically
pessimistic bound.
The convergence theorem (Theorem 1) assumes exact arithmetic. On a computer, each step incurs a rounding error μn in addition to the truncation error.
The bound has two competing terms as h→0:
Truncation errorChp: decreases with smaller h.
Rounding errormax∥μl∥/h: increases with smaller h, since we divide the per-step rounding error (roughly machine epsilon) by an ever-smaller step size.
This creates three regimes:
Large h — the discretization is too coarse to resolve the solution; errors decrease as h shrinks.
Moderate h — the “sweet spot” where truncation error dominates and convergence at rate O(hp) is observed.
Very small h — rounding errors dominate and the total error increases as h shrinks further.
Figure 4:Left: The Arenstorf orbit, a periodic solution of the restricted three-body problem for a satellite travelling around the earth and moon (dots). Due to its sensitivity this system is a standard test case. Right: Error after integrating one full period with 2k steps using a Runge-Kutta method. Three regimes are visible: (1) for small k the discretization is too coarse; (2) at moderate k the error decreases rapidly at the expected convergence rate; (3) at large k rounding errors accumulate and the error increases.
There is an optimal step sizehopt that balances the two contributions. Below hopt, making h smaller makes things worse.
Low order. Forward Euler is only O(h) accurate. Just as central
differences improved on forward differences by averaging, we can build
higher-order ODE methods by evaluating f at cleverly chosen intermediate
points and combining the results. This is the idea behind Runge-Kutta
methods; see the
optional section on Runge-Kutta and adaptive methods.
Fixed step size. For a nonlinear ODE, the effective λ changes along
the solution. A step size that is stable in one region may be unstable in
another, and a step size that is accurate during rapid transients may be
wasteful during slow evolution. With a fixed h, there is no way to adapt. This
motivates adaptive time-stepping, where we estimate the local truncation
error at each step and adjust h automatically; see the
optional section on Runge-Kutta and adaptive methods.