Von Neumann stability analysis and the CFL condition
Anchor (Master): Richtmyer-Morton 1967 *Difference Methods for Initial-Value Problems* 2e (Interscience) Ch. 4-5 (Fourier/von Neumann analysis as the spectral form of $\ell^2$ stability, the amplification matrix for systems, and the relation to the Lax-Richtmyer theory); Strikwerda 2004 *Finite Difference Schemes and Partial Differential Equations* 2e (SIAM) Ch. 2, 4, 11 (von Neumann analysis, the amplification matrix, and the Gustafsson-Kreiss-Sundström/GKS theory of stability for initial-boundary-value problems); Gustafsson-Kreiss-Oliger 1995 *Time-Dependent Problems and Difference Methods* (Wiley) Ch. 5, 9 (the Kreiss matrix theorem, von Neumann vs. full stability, and boundary stability)
Intuition Beginner
A finite-difference scheme marches a grid of numbers forward in time. The danger is that small errors — round-off, or just the gap between the grid answer and the true one — might grow from step to step until they swamp the answer. A scheme that keeps every error bounded is called stable; one that lets some error grow without limit is unstable. The whole point of this unit is a clean test for which schemes are which.
The test rests on one idea borrowed from sound. Any pattern on the grid can be built from pure waves of different wavelengths, just as any musical chord is a sum of pure tones. A constant-coefficient scheme treats each pure wave on its own: it does not mix one wavelength into another. So you can feed in a single wave and watch what one step does to it. Each step multiplies that wave by a number, the same number every step, called the amplification factor. If that number has size at most one, the wave stays bounded; if its size is bigger than one, the wave grows each step and the scheme blows up.
The rule is then short. Run through every wavelength the grid can hold, find the amplification factor for each, and check that none of them has size above one (give or take a tiny allowance for solutions that are genuinely supposed to grow). If all pass, the scheme is stable. This is von Neumann analysis, named for the mathematician who turned the wave-by-wave idea into a working tool.
There is a second, simpler limit that applies to waves and signals that travel — like a pulse moving down a string from the earlier wave-equation unit 02.13.04. Information in the true problem moves at a fixed speed, so in one time step it travels a fixed distance. A marching scheme also gathers information from a fixed spread of neighbours each step. If the true signal moves farther in one step than the scheme can reach, the scheme is trying to predict something it never looked at, and no choice of arithmetic can save it. The requirement that the scheme's reach cover the true signal's travel is the Courant-Friedrichs-Lewy condition, or CFL for short.
Visual Beginner
There are two pictures here. The first is the wave-by-wave test: feed one pure wave into one step and see how its height changes. The second is the travel-distance test: compare how far the true signal moves with how far the scheme can reach.
The table collects the amplification factors of the standard schemes from the parabolic unit 43.11.02, written in terms of the single number (time step over squared spacing) and the wave. The size of that factor is what decides stability.
| scheme | what one step multiplies a wave by | stays at size when |
|---|---|---|
| forward Euler (explicit heat) | minus a positive amount that can exceed | only if |
| backward Euler (implicit heat) | over plus a positive amount | always |
| Crank-Nicolson (implicit heat) | a ratio whose top is smaller than its bottom | always |
time
^ physical travel in one step scheme's reach in one step
| (true signal moves a*k) (stencil sees +/- one cell)
|
| \ o
| \ characteristic /|\
| \ slope 1/a / | \
| * point we predict o o o known cells
|
+------------------------------------------------------------> space
CFL ok: a*k <= h (true travel fits inside the scheme's reach)
CFL bad: a*k > h (signal comes from a cell the scheme never read)
The takeaway: von Neumann analysis is the wave-by-wave size check on the amplification factor, and it gives sharp stability limits like for the explicit heat scheme. The CFL condition is the coarser travel-distance check; it must hold for any explicit hyperbolic scheme, but on its own it does not promise stability.
Worked example Beginner
Let us run the wave-by-wave test on the explicit heat scheme and watch it produce the limit with a real number. The scheme updates each grid value by , where .
Feed in a single wave. Take the most demanding one the grid can carry: a sawtooth that flips sign at every grid point, . Its neighbours are the negatives of its own value: if , both and equal .
Step 1. Compute the neighbour comparison at a point where : the left neighbour plus the right neighbour minus twice the centre is .
Step 2. Apply the update: . So one step multiplied this wave by the factor . Every point on the sawtooth gets multiplied by the same , which is the whole point of the wave-by-wave view.
Step 3. Ask when the size of stays at most one: . This means , that is , so .
Step 4. See the failure past the limit. Take , twice the limit. Then , of size three. The sawtooth flips sign and triples in height every step: . The error explodes.
What this tells us: the single worst wave, the sign-flipping sawtooth, already pins down the exact stability limit — the same limit the parabolic unit 43.11.02 got from eigenvalues, now from a one-line wave test. The sawtooth is worst because the neighbour comparison hits it hardest, which is why von Neumann analysis always checks every wavelength and reports the most dangerous one.
Check your understanding Beginner
Formal definition Intermediate+
Work on a uniform spatial grid , , with time step and time levels , and consider a constant-coefficient linear one-step scheme on a periodic domain (or the whole line),
$$
U^{n+1}j = \sum{\ell = -p}^{q} c_\ell, U^n_{j+\ell},
$$
with fixed real (or complex) coefficients independent of and ; the parabolic FTCS, backward-Euler, and Crank-Nicolson schemes of 43.11.02 and the advection schemes of the next unit are all of this form (implicit schemes after solving the constant-coefficient recurrence). Because the coefficients do not depend on , the scheme commutes with the grid shift, and the discrete Fourier transform diagonalises it.
The Fourier mode and the amplification factor. Insert the single Fourier mode $$ U^n_j = g^n, e^{i\xi j h}, \qquad \xi \in [-\pi/h, \pi/h], $$ where is the spatial wavenumber and is to be determined. Substituting and dividing by the common factor leaves a single scalar equation for . For an explicit scheme this gives outright; for an implicit scheme it gives after dividing the contributions from the new level. The resulting $$ g(\xi) = \sum_{\ell=-p}^{q} c_\ell, e^{i\xi \ell h} $$ (explicit case) is the amplification factor — the symbol of the scheme, the complex number by which the scheme multiplies the mode of wavenumber in one step. After steps that mode is multiplied by .
The von Neumann stability condition. The scheme is von Neumann stable (equivalently, -stable in the Lax-Richtmyer sense of 43.11.05) if there is a constant , independent of , , , such that
$$
|g(\xi)| \le 1 + C k \qquad \text{for all } \xi \in [-\pi/h, \pi/h].
$$
When the exact solution does not grow (the parabolic and pure-advection cases), the sharp form is the strict condition for all . The slack permits genuine exponential growth at rate in the true solution: over steps, stays bounded. For a system of equations the coefficients are matrices, becomes the amplification matrix , and the condition is uniform power-boundedness for — the scalar is necessary but, for non-normal , not sufficient.
The Courant-Friedrichs-Lewy (CFL) condition. For a hyperbolic problem with finite propagation speed, the analytic domain of dependence of a point is the set of initial points whose data determine ; for the advection equation of 02.13.04 it is the single foot of the characteristic, . The numerical domain of dependence is the set of initial grid points that the scheme's stencil, iterated to time , actually consults. The CFL condition is the requirement that the numerical domain of dependence contain the analytic one. For an explicit scheme with stencil width one cell per step, applied to , this is
$$
\nu := \frac{|a|,k}{h} \le 1,
$$
where is the Courant number. The symbols , , the amplification matrix , the Courant number , the mesh ratio , and the wavenumber range are recorded in _meta/NOTATION.md.
Counterexamples to common slips
The CFL condition is necessary, not sufficient. It is a statement about which grid points the scheme reads, derived from geometry alone; it knows nothing about how the scheme weights them. The centred explicit scheme for advection satisfies CFL for yet is von Neumann unstable for every . CFL screens out hopeless schemes; von Neumann analysis decides the survivors.
Von Neumann analysis assumes constant coefficients and periodicity. The Fourier mode is an exact eigenfunction of the shift only when the coefficients are constant and the domain is periodic or the whole line. For variable coefficients one freezes the coefficients locally (a heuristic), and for non-periodic boundaries the boundary closure can destabilise a von Neumann-stable interior scheme — the failure the GKS theory addresses.
pointwise is not the same as bounded for systems. A non-normal amplification matrix can have spectral radius while its powers transiently grow; the scalar eigenvalue condition then misses an instability. The correct systems condition is uniform power-boundedness, characterised by the Kreiss matrix theorem.
The worst mode is usually the sawtooth, not the smoothest. For diffusive schemes the binding wavenumber is (the sign-flipping mode ), where ; checking only low wavenumbers , where for any consistent scheme, certifies nothing.
Key theorem with proof Intermediate+
The signature result is that, for constant-coefficient one-step schemes on a periodic grid, von Neumann analysis is exactly stability: the Fourier transform turns the one-step operator into multiplication by , so the operator norm is the supremum of , and stability is the uniform bound on that supremum. Specialised to the parabolic schemes this recovers the restriction and the unconditional stability of the implicit schemes by a Fourier route, matching the eigenvalue computation of 43.11.02; specialised to advection it produces the CFL number [LeVeque, R. J. — Finite Difference Methods for Ordinary and Partial Differential Equations: Steady-State and Time-Dependent Problems; Strikwerda, J. C. — Finite Difference Schemes and Partial Differential Equations (2nd ed.)].
Theorem (von Neumann analysis equals stability; the heat amplification factors). Let be a constant-coefficient one-step scheme on the periodic grid, with one-step operator and amplification factor . Then , and the scheme is -stable iff for some independent of . In particular, for with :
(i) FTCS has , and .
(ii) Backward Euler has and Crank-Nicolson has ; both satisfy for all and all .
Proof. On the discrete Fourier transform is, by Parseval, a unitary map onto (up to the fixed normalisation). The grid shift becomes multiplication by : . Since , the transform turns into multiplication by : $$ \widehat{CV}(\xi) = g(\xi),\widehat{V}(\xi). $$ A multiplication operator on has norm equal to the essential supremum of its multiplier, so , and . Uniform power-boundedness for holds iff : if the bound holds then , and conversely if with then is unbounded over . This is the von Neumann condition.
(i) FTCS. The mode satisfies . Divide by : $$ g = 1 + r(e^{-i\xi h} - 2 + e^{i\xi h}) = 1 + 2r(\cos\xi h - 1) = 1 - 4r\sin^2(\xi h/2), $$ using . Since ranges over as runs over , ranges over . The upper end is always ; the lower end satisfies . Thus exactly when , the binding mode being (the sawtooth).
(ii) Backward Euler and Crank-Nicolson. For backward Euler, , so , giving and , so for all and all . For Crank-Nicolson the spatial operator is split equally across the two levels; writing , the recurrence gives , and for every , so for all , . Both are unconditionally stable.
Bridge. This theorem is the foundational reason von Neumann analysis works at all: the Fourier transform is exactly the change of basis that diagonalises every constant-coefficient scheme at once, so the operator norm collapses to a supremum of scalars , and stability becomes a pointwise check on the symbol. This is exactly the eigen-decoupling of 43.11.02 carried from the finite sine basis on an interval to the continuous Fourier basis on the line — the discrete eigenvalues there reappear here as inside , and the same restriction falls out. The Fourier-stability half is dual to the consistency half: one bounds how the scheme amplifies each mode, the other bounds the residual the exact solution leaves in that mode, and putting these together is the central insight that a consistent, von Neumann-stable scheme converges. This builds toward the CFL condition below and appears again in the Lax-Richtmyer equivalence theorem 43.11.05, where is precisely the power-boundedness whose uniformity is the stability hypothesis, the bridge being that von Neumann analysis is the constant-coefficient engine that verifies that hypothesis mode by mode.
Exercises Intermediate+
Advanced results Master
Theorem 1 (Fourier diagonalisation and the amplification factor). On the periodic grid the discrete Fourier transform is a unitary isomorphism carrying the grid shift to multiplication by , so any constant-coefficient one-step operator becomes multiplication by its symbol . Consequently , and von Neumann stability is identical to Lax-Richtmyer stability of 43.11.05. For an -component system, is replaced by the amplification matrix and the criterion is uniform power-boundedness for [Richtmyer, R. D. & Morton, K. W. — Difference Methods for Initial-Value Problems (2nd ed.)].
Theorem 2 (the heat and advection symbols and their stability thresholds). For with : FTCS has , stable iff ; backward Euler and Crank-Nicolson , unconditionally stable. For with : upwind , Lax-Friedrichs , Lax-Wendroff , all stable iff , while the centred explicit scheme has and is unconditionally unstable [LeVeque, R. J. — Finite Difference Methods for Ordinary and Partial Differential Equations: Steady-State and Time-Dependent Problems].
Theorem 3 (CFL necessity via domains of dependence). For an explicit scheme approximating a hyperbolic problem with characteristic speed , let and be the numerical and analytic domains of dependence. If , then the scheme cannot converge: the initial data can be perturbed inside , changing the true value while leaving every grid value the scheme consults unchanged. For the one-cell explicit advection stencil this is . The CFL condition is therefore a necessary convergence condition independent of the scheme's coefficients; it is not sufficient, the centred scheme being the standard witness [Strikwerda, J. C. — Finite Difference Schemes and Partial Differential Equations (2nd ed.)].
Theorem 4 (the Kreiss matrix theorem and the systems case). For a one-step scheme for a first-order system, von Neumann's scalar condition (spectral radius) is necessary but, when is non-normal, not sufficient: transient growth can occur. The Kreiss matrix theorem characterises uniform power-boundedness by four equivalent conditions — a resolvent bound for , a numerical-range condition, a Lyapunov-function condition, and a uniform-diagonalisability condition with bounded transformation — making the systems stability problem decidable in principle. The scalar von Neumann condition is the special case where is normal (in particular for the heat schemes, where is a single eigenvalue) [Richtmyer, R. D. & Morton, K. W. — Difference Methods for Initial-Value Problems (2nd ed.)].
Theorem 5 (GKS theory for initial-boundary-value problems). Von Neumann analysis is exact only for periodic or whole-line problems; a numerical boundary closure can destabilise a von Neumann-stable interior scheme. The Gustafsson-Kreiss-Sundström (GKS) theory replaces the Fourier mode by a normal-mode analysis in which one seeks spatially decaying solutions (with , ) of the discrete scheme satisfying the homogeneous numerical boundary conditions; the absence of such generalised eigenvalues on and outside the unit circle (the Kreiss condition) is necessary and sufficient for boundary stability. The interior von Neumann condition and the GKS boundary condition together give stability for the non-periodic initial-boundary-value problem [Strikwerda, J. C. — Finite Difference Schemes and Partial Differential Equations (2nd ed.)].
Synthesis. The foundational reason von Neumann analysis is the working stability tool is a single structural fact: on a periodic grid the Fourier transform simultaneously diagonalises every constant-coefficient scheme, so the operator norm collapses to the supremum of a scalar symbol and stability becomes a pointwise inequality. This is exactly the eigen-decoupling of 43.11.02 — the finite sine basis on an interval becoming the continuous Fourier basis on the line — and it is dual to the consistency analysis: the symbol carries both the leading consistency error in its phase and the stability budget in its modulus, so a single computation governs both halves of convergence. The central insight is that two stability statements of different strength coexist, the sharp spectral one (von Neumann, the modulus of ) and the coarse geometric one (CFL, the reach of the stencil), and putting these together explains the hyperbolic schemes: CFL screens which Courant numbers are even admissible, and von Neumann decides which admissible schemes survive — the centred scheme passing the first test and failing the second. The bridge to the wider theory is that von Neumann analysis is the constant-coefficient computational engine of the Lax-Richtmyer equivalence theorem 43.11.05: it verifies the power-boundedness hypothesis mode by mode, just as the explicit spectral decomposition of 43.11.02 verifies it eigenvalue by eigenvalue, and the Kreiss matrix theorem and GKS theory generalise this verification to systems and to non-periodic boundaries.
Full proof set Master
Proposition 1 (operator norm equals the symbol supremum). Let on , with the unit shift and . Then is bounded with , where , and .
Proof. The discrete Fourier transform , (with ), is unitary by Parseval's identity for Fourier series. The shift acts by , since shifting the index by one multiplies each Fourier coefficient by . Hence is multiplication by , a bounded continuous function on the compact interval. A multiplication operator on of a -finite measure has , and since is continuous this essential supremum is the ordinary supremum . Unitary conjugation preserves the operator norm, so . Finally , so .
Proposition 2 (von Neumann condition stability). The family of one-step operators is -stable — — if and only if there is a constant with for all .
Proof. By Proposition 1, . () If , then for , , uniformly in . () Suppose no such exists; then there are sequences and with and . Choose , so and . Then (using for small ), contradicting stability. Hence the von Neumann bound is necessary.
Proposition 3 (the explicit-heat threshold is exactly ). FTCS for has , , and if and only if .
Proof. Substituting the mode into and cancelling gives , using . As ranges over , ranges over , so . The upper bound holds always (as ). The lower bound is , i.e. ; the worst case is (), giving . Thus .
Proposition 4 (unconditional stability of backward Euler and Crank-Nicolson). Backward Euler has and Crank-Nicolson has ; both satisfy for every .
Proof. Write . Backward Euler gives, on the mode, , so since ; hence for all . Crank-Nicolson splits the second difference equally between levels: , so . With , ; since for all (square both sides: , true for ), for every and every . Both stability functions are bounded by one across the whole spectrum, the Fourier counterpart of the A-stability of 43.11.02.
Proposition 5 (CFL necessity for the explicit advection stencil). Let an explicit scheme for () compute from initial data at grid indices in (a one-sided one-cell stencil). If , the scheme does not converge to at fixed mesh ratio .
Proof. The exact solution is constant along characteristics , so , depending only on the initial datum at the characteristic foot . The scheme's value is a function of the initial data , i.e. of on — the numerical domain of dependence. If then , so lies strictly to the left of the numerical domain. Pick two initial data agreeing on but differing at (possible since is outside that interval and may be chosen continuous): the scheme produces the same for both, while . Refining with (hence ) fixed keeps outside the numerical domain, so cannot tend to zero for both data. Thus is necessary for convergence.
Connections Master
The parabolic method-of-lines unit
43.11.02supplies the test schemes whose stability this unit recomputes by Fourier modes: the FTCS, backward-Euler, and Crank-Nicolson updates are exactly the -method schemes built there, and the amplification factor with is the continuous-spectrum version of that unit's discrete eigenvalues . Where43.11.02diagonalised the finite matrix by the sine modes on a bounded interval, this unit diagonalises the same constant-coefficient operator by the full continuum of Fourier modes on the line, and both recover the identical restriction .The elliptic finite-difference unit
43.11.01is the steady-state companion: the second-difference operator whose symbol is here is the time-step of the very matrix assembled there, and the sawtooth mode that binds the explicit stability limit is the discrete analogue of the highest eigenmode of that set the conditioning . The largest-eigenvalue phenomenon that controls the parabolic time step is the same one the Fourier symbol exposes at .The Fourier-series theory
02.10.01is the analytic engine: von Neumann analysis is the discrete Fourier transform applied to a translation-invariant operator, and the unitarity of that transform (Parseval/Plancherel) is exactly what turns the operator norm into the supremum of the symbol. The Riemann-Lebesgue decay and completeness of the Fourier basis from that unit are what justify decomposing an arbitrary grid error into modes and tracking each independently.The wave-equation unit
02.13.04supplies the geometric content of the CFL condition: its characteristics and finite domains of dependence are precisely the analytic domain of dependence that the numerical domain must contain, and the d'Alembert picture of information travelling at fixed speed is what makes the travel-distance argument a hard necessary condition rather than a heuristic.The forthcoming hyperbolic-schemes unit
43.11.04consumes the CFL number and the amplification-factor computations developed here: the upwind, Lax-Friedrichs, and Lax-Wendroff symbols derived in the exercises are the stability backbone of that unit, and the centred-scheme instability shown here is exactly the failure those dissipative schemes are designed to cure. The capstone Lax-Richtmyer equivalence theorem43.11.05is where von Neumann stability is shown to be the stability whose equivalence with convergence (given consistency) is the theorem's content, with the Kreiss matrix theorem providing the systems-level characterisation of the power-boundedness this unit verifies mode by mode.
Historical & philosophical context Master
The Fourier-mode stability test is named for John von Neumann, who developed it in the 1940s during wartime computational work at Los Alamos on the numerical integration of hydrodynamic and detonation problems; the method circulated through unpublished reports and was given its first widely cited exposition by John Crank, Phyllis Nicolson, and contemporaries, and in the joint analysis of John von Neumann and Robert D. Richtmyer's 1950 paper on artificial viscosity for shock computations (Journal of Applied Physics 21, 232–237) [von Neumann & Richtmyer 1950]. The systematic treatment of the amplification factor and matrix as the spectral form of stability, and its connection to the Lax-Richtmyer theory, was consolidated by Robert Richtmyer and K. W. Morton in Difference Methods for Initial-Value Problems (Interscience, 1957; 2nd ed. 1967) [Richtmyer, R. D. & Morton, K. W. — Difference Methods for Initial-Value Problems (2nd ed.)].
The domain-of-dependence condition predates the spectral test: Richard Courant, Kurt Friedrichs, and Hans Lewy introduced it in their 1928 paper Über die partiellen Differenzengleichungen der mathematischen Physik (Mathematische Annalen 100, 32–74) [Courant, Friedrichs & Lewy 1928], where it appeared not as a numerical recipe but as a condition for the convergence of difference approximations to hyperbolic problems, the necessity argument resting on the same characteristic-cone geometry used above. The characterisation of uniform power-boundedness that makes the systems case decidable is the Kreiss matrix theorem of Heinz-Otto Kreiss (1962), and the extension of stability analysis to non-periodic initial-boundary-value problems is the Gustafsson-Kreiss-Sundström theory of Bertil Gustafsson, Heinz-Otto Kreiss, and Arne Sundström (1972), developed in their Time-Dependent Problems and Difference Methods tradition [Strikwerda, J. C. — Finite Difference Schemes and Partial Differential Equations (2nd ed.)].
Bibliography Master
@article{vonneumannrichtmyer1950,
author = {von Neumann, John and Richtmyer, Robert D.},
title = {A method for the numerical calculation of hydrodynamic shocks},
journal = {Journal of Applied Physics},
volume = {21},
number = {3},
year = {1950},
pages = {232--237}
}
@article{courantfriedrichslewy1928cfl,
author = {Courant, Richard and Friedrichs, Kurt and Lewy, Hans},
title = {{\"U}ber die partiellen Differenzengleichungen der mathematischen Physik},
journal = {Mathematische Annalen},
volume = {100},
number = {1},
year = {1928},
pages = {32--74}
}
@book{richtmyermorton1967,
author = {Richtmyer, Robert D. and Morton, K. W.},
title = {Difference Methods for Initial-Value Problems},
edition = {2},
publisher = {Interscience Publishers (Wiley)},
year = {1967}
}
@book{strikwerda2004,
author = {Strikwerda, John C.},
title = {Finite Difference Schemes and Partial Differential Equations},
edition = {2},
publisher = {Society for Industrial and Applied Mathematics (SIAM)},
year = {2004}
}
@book{leveque2007fdmvonneumann,
author = {LeVeque, Randall J.},
title = {Finite Difference Methods for Ordinary and Partial Differential Equations: Steady-State and Time-Dependent Problems},
publisher = {Society for Industrial and Applied Mathematics (SIAM)},
year = {2007}
}
@book{gustafssonkreissoliger1995,
author = {Gustafsson, Bertil and Kreiss, Heinz-Otto and Oliger, Joseph},
title = {Time-Dependent Problems and Difference Methods},
publisher = {John Wiley and Sons},
year = {1995}
}
@book{strang2007csevonneumann,
author = {Strang, Gilbert},
title = {Computational Science and Engineering},
publisher = {Wellesley-Cambridge Press},
year = {2007}
}