Quantum Mechanics

Quantum Perturbation Theory

Approximating energies and states when H = H₀ + λV and the perturbation is small

Quantum perturbation theory is a systematic method for approximating the energy levels and wavefunctions of a system whose Hamiltonian is H = H₀ + λV, where H₀ is exactly solvable and λV is a small perturbation. Expanding in powers of λ, the first-order energy shift is E⁽¹⁾ₙ = ⟨n|V|n⟩ and the second-order shift sums |⟨m|V|n⟩|² / (Eₙ⁽⁰⁾ − Eₘ⁽⁰⁾) over all other states. Developed by Schrödinger in 1926 from earlier work by Rayleigh, it is the reason we can compute the Stark effect, the Zeeman effect, fine structure, and the Lamb shift — almost no realistic Hamiltonian can be solved exactly.

  • SetupH = H₀ + λV, V small
  • First-order energyE⁽¹⁾ₙ = ⟨n|V|n⟩
  • Second-order energyΣm≠n |⟨m|V|n⟩|² / (Eₙ⁽⁰⁾ − Eₘ⁽⁰⁾)
  • Degenerate caseDiagonalize V in the degenerate subspace
  • ExplainsStark, Zeeman, fine structure, Lamb shift
  • ConvergenceFails if ⟨m|V|n⟩ ≳ energy gap; often only asymptotic

Interactive visualization

Press play, or step through manually. The visualization is yours to drive — try it before reading on.

Open visualization fullscreen ↗

Watch the 60-second explainer

A condensed visual walkthrough — narrated, captioned, under a minute.

Why perturbation theory matters

The Schrödinger equation can be solved exactly for only a handful of textbook systems: the free particle, the infinite and finite square well, the harmonic oscillator, and the hydrogen atom. Every real atom, molecule, solid, or nucleus is more complicated than these. Perturbation theory is the bridge: it takes a problem you can solve and adds a small correction to reach the problem you actually care about.

The trick is to write the true Hamiltonian as a solvable part plus a small extra term:

H = H₀ + λV

Here H₀ is the unperturbed Hamiltonian whose eigenvalues Eₙ⁽⁰⁾ and eigenstates |n⟩ are known exactly, V is the perturbing operator, and λ is a dimensionless bookkeeping parameter (0 ≤ λ ≤ 1) that tracks the order of each correction. At the end you set λ = 1. Because V is "small," the true answer should differ only slightly from the unperturbed one, so we expand both the energy and the state as power series in λ:

Eₙ = Eₙ⁽⁰⁾ + λ Eₙ⁽¹⁾ + λ² Eₙ⁽²⁾ + …
|ψₙ⟩ = |n⟩ + λ |ψₙ⁽¹⁾⟩ + λ² |ψₙ⁽²⁾⟩ + …

Substituting these into H|ψₙ⟩ = Eₙ|ψₙ⟩ and matching powers of λ produces one equation per order. This is Rayleigh–Schrödinger perturbation theory, the time-independent version that corrects stationary states.

First-order correction — the expectation value of V

Collecting the terms linear in λ and projecting onto ⟨n| gives the single most useful result in the whole subject:

E⁽¹⁾ₙ = ⟨n|V|n⟩ = ∫ ψₙ⁽⁰⁾* V ψₙ⁽⁰⁾ dτ

The leading energy shift is just the expectation value of the perturbation in the unperturbed state — the diagonal matrix element of V. You average the perturbing potential over the original probability cloud |ψₙ⁽⁰⁾|². Remarkably, you do not need the corrected wavefunction to get the first-order energy; the known state is enough.

The first-order correction to the state requires the off-diagonal matrix elements:

|ψₙ⁽¹⁾⟩ = Σ_{m≠n} [ ⟨m|V|n⟩ / (Eₙ⁽⁰⁾ − Eₘ⁽⁰⁾) ] |m⟩

Each unperturbed state |m⟩ gets mixed into |n⟩ in proportion to how strongly V connects them (numerator) and how close in energy they are (denominator). Nearby states with large coupling dominate the admixture — a theme that returns when we discuss convergence.

Second-order correction — a sum over all states

Sometimes the first-order shift vanishes by symmetry (parity, angular-momentum selection rules), or you simply need more accuracy. The next term is:

E⁽²⁾ₙ = Σ_{m≠n} |⟨m|V|n⟩|² / (Eₙ⁽⁰⁾ − Eₘ⁽⁰⁾)

This is a sum over every other unperturbed state m. Each term is a squared coupling matrix element divided by the energy gap. Two features are worth internalizing:

  • The numerator |⟨m|V|n⟩|² is always positive, so the sign of each contribution is fixed by the gap. States that lie below n (positive denominator) push level n up; states above push it down. Levels "repel."
  • The ground state always shifts downward at second order, because every other state lies above it, making every denominator negative and every term negative. So E⁽²⁾ for the ground state is guaranteed to be negative — the second-order correction can only lower the ground energy.

Notice that the second-order energy is a weighted sum of coupling-over-gap ratios — the closer a state is in energy and the more strongly it couples, the larger its pull.

Degenerate perturbation theory

The formulas above contain the gap Eₙ⁽⁰⁾ − Eₘ⁽⁰⁾ in the denominator. If two unperturbed states share the same energy — a degeneracy — that denominator is zero and the naïve expressions blow up. This is not a real infinity; it signals that we picked the wrong starting states.

The cure is to work inside the degenerate subspace first. Suppose states |a⟩ and |b⟩ have the same Eₙ⁽⁰⁾. Build the perturbation matrix restricted to that subspace:

W = [ ⟨a|V|a⟩  ⟨a|V|b⟩ ]
    [ ⟨b|V|a⟩  ⟨b|V|b⟩ ]

Diagonalize W. Its eigenvalues are the correct first-order energy shifts, and its eigenvectors are the "good" zeroth-order states — the specific linear combinations that the perturbation leaves stable. The perturbation itself tells you which basis to use. When the eigenvalues differ, the degeneracy is lifted: a single level splits into several. This single idea is behind the linear Stark splitting of hydrogen's n = 2 level into three sublevels.

Worked physics: the Stark and Zeeman effects

Perturbation theory earns its keep in atomic physics, where external fields are small compared with the Coulomb binding.

Stark effect (electric field). Add V = eEz for a field E along z. For the hydrogen ground state (1s), the first-order shift ⟨100|z|100⟩ = 0 by parity — the 1s state has no permanent dipole. The leading effect is therefore second-order and quadratic in the field:

ΔE = −½ α E²,   α_H(1s) = 4.5 a₀³ (atomic units) = 7.42 × 10⁻⁴¹ C·m²/V (SI)

where α is the static dipole polarizability and a₀ = 5.29 × 10⁻¹¹ m is the Bohr radius. For the four-fold degenerate n = 2 level, the 2s and 2p₀ states are mixed by V at first order (they have opposite parity and the same energy), so degenerate perturbation theory gives a linear Stark splitting ΔE = ±3ea₀E.

Zeeman effect (magnetic field). Add V = −μ·B = (μ_B/ħ)(L + 2S)·B. In the normal Zeeman effect (ignoring spin), a field along z shifts each level by:

ΔE = m_l μ_B B,   μ_B = eħ/2mₑ = 9.274 × 10⁻²⁴ J/T

with magnetic quantum number m_l ∈ {−ℓ, …, +ℓ}. A single spectral line splits into a symmetric triplet spaced by μ_B B. Including spin gives the anomalous Zeeman effect with the Landé g-factor. In both cases the field is the perturbation V and the shifts are matrix elements of it.

EffectPerturbation VLeading orderEnergy shift
Stark, H(1s)eEzSecond (parity kills first)−½αE² (quadratic)
Stark, H(n=2)eEzFirst (degenerate)±3ea₀E (linear)
Normal Zeeman(μ_B/ħ)L·BFirstm_l μ_B B
Fine structureSpin–orbit + relativisticFirst∝ α² (order 10⁻⁴ Ry)
Ground-state Zeeman (spin)−g_s μ_B S·B/ħFirst±g_s μ_B B / 2

Common misconceptions and the limits of convergence

  • "Small V means the series always converges." Not necessarily. Even when every term is small, the full Rayleigh–Schrödinger series is often only asymptotic, not convergent. The quartic anharmonic oscillator and the QED perturbation series both diverge if summed to infinity, yet their first few terms are astonishingly accurate — QED predicts the electron's magnetic moment to better than one part in a billion.
  • "You can ignore the energy denominators." They are where the physics hides. A small gap in Eₙ⁽⁰⁾ − Eₘ⁽⁰⁾ magnifies a term dramatically. Whenever a state is nearly degenerate with n, you must treat it with (near-)degenerate perturbation theory or the second-order sum misbehaves.
  • "First order is always the biggest correction." If symmetry forces ⟨n|V|n⟩ = 0 (as for the 1s Stark shift), the second-order term is the leading one. Always check the selection rules before assuming an order dominates.
  • "Perturbation theory gives the exact answer with enough terms." For strong coupling it can fail completely — think of a double well whose barrier V is comparable to the level spacing. Then variational methods, the WKB approximation, or exact diagonalization take over.
  • "Time-independent and time-dependent theory are the same." They answer different questions. The formulas here correct static energy levels. Switching a perturbation on in time instead gives transition rates via Fermi's golden rule, Γ = (2π/ħ)|⟨f|V|i⟩|²ρ(E_f).

Worked example — a two-level system

The cleanest sanity check is a system with just two states, |1⟩ and |2⟩, unperturbed energies E₁⁽⁰⁾ and E₂⁽⁰⁾, coupled by V with off-diagonal element ⟨1|V|2⟩ = v (real). The exact eigenvalues are:

E± = (E₁⁽⁰⁾ + E₂⁽⁰⁾)/2 ± ½√[(E₁⁽⁰⁾ − E₂⁽⁰⁾)² + 4v²]

Expand the square root for small v (with Δ = E₁⁽⁰⁾ − E₂⁽⁰⁾, assume Δ > 0):

E₁ ≈ E₁⁽⁰⁾ + v²/Δ ,   E₂ ≈ E₂⁽⁰⁾ − v²/Δ

These are exactly the second-order perturbation results: the diagonal elements were zero (no first-order shift), and each state moves by ±v²/Δ — the upper state up, the lower state down, i.e. level repulsion. The expansion is valid only when v ≪ Δ; as v → Δ the exact gap saturates and the perturbation series breaks down, illustrating the convergence limit numerically.

JavaScript — perturbation corrections in code

// First-order energy shift: diagonal matrix element ⟨n|V|n⟩
function firstOrder(V, n) {
  return V[n][n];
}

// Second-order energy shift: Σ_{m≠n} |⟨m|V|n⟩|² / (E0[n] − E0[m])
function secondOrder(V, E0, n) {
  let sum = 0;
  for (let m = 0; m < E0.length; m++) {
    if (m === n) continue;
    const gap = E0[n] - E0[m];
    sum += (V[m][n] * V[m][n]) / gap;   // V assumed real symmetric
  }
  return sum;
}

// Two-level exact eigenvalues, to compare with the series
function twoLevelExact(E1, E2, v) {
  const avg = (E1 + E2) / 2;
  const rad = Math.sqrt((E1 - E2) ** 2 + 4 * v * v) / 2;
  return [avg - rad, avg + rad];   // [E-, E+]
}

// Example: E1 = 0, E2 = 1 (gap Δ = -1 seen from state 1), coupling v = 0.1
const E0 = [0, 1];
const V  = [[0, 0.1], [0.1, 0]];
console.log('1st-order (state 0):', firstOrder(V, 0));          // 0
console.log('2nd-order (state 0):', secondOrder(V, E0, 0).toFixed(4)); // -0.0100
console.log('exact eigenvalues :', twoLevelExact(0, 1, 0.1).map(x => x.toFixed(4)));
// exact: [-0.0099, 1.0099]  → state 0 shifted by ~ -0.0099, series gave -0.0100 ✓

A short history

The core idea predates quantum mechanics: Lord Rayleigh used it in the 1890s to compute the effect of small inhomogeneities on the vibration frequencies of strings and membranes. When wave mechanics arrived, Erwin Schrödinger adapted the method in his 1926 series of papers "Quantisierung als Eigenwertproblem," deriving the first- and second-order energy formulas for quantum systems — hence the name Rayleigh–Schrödinger perturbation theory. Paul Dirac then built the time-dependent version and, with Fermi, the golden rule for transition rates. The framework immediately explained the newly measured Stark (1913) and Zeeman (1896) splittings quantitatively, and later underpinned the crowning triumphs of quantum electrodynamics, where perturbation series in the fine-structure constant α ≈ 1/137 give the most accurately tested predictions in all of physics.

Frequently asked questions

What is quantum perturbation theory?

It is a method for approximating the energy levels and wavefunctions of a system whose Hamiltonian is H = H₀ + λV, where H₀ can be solved exactly and λV is a small perturbation. You expand the true energy and state as power series in λ: Eₙ = Eₙ⁽⁰⁾ + λEₙ⁽¹⁾ + λ²Eₙ⁽²⁾ + …. Order by order, the corrections are built from matrix elements of V taken between the known unperturbed states. It is the workhorse of atomic, molecular, and condensed-matter physics because almost no realistic Hamiltonian is exactly solvable.

What is the first-order energy correction?

The first-order shift of level n is simply the expectation value of the perturbation in the unperturbed state: E⁽¹⁾ₙ = ⟨n|V|n⟩ = ∫ ψₙ⁽⁰⁾* V ψₙ⁽⁰⁾ dτ. It is the diagonal matrix element of V. In words, the leading energy change equals the average of the perturbing potential over the original probability distribution |ψₙ⁽⁰⁾|². You do not need the corrected wavefunction to get the first-order energy — a useful shortcut.

What is the second-order energy correction?

The second-order shift is a sum over all other unperturbed states: E⁽²⁾ₙ = Σ_{m≠n} |⟨m|V|n⟩|² / (Eₙ⁽⁰⁾ − Eₘ⁽⁰⁾). Each term is a squared coupling matrix element divided by the energy gap to that state. Because |⟨m|V|n⟩|² is always positive, the sign of each term is set by the gap: states lying below n (positive denominator Eₙ⁽⁰⁾ − Eₘ⁽⁰⁾) push level n up, and states above (negative denominator) push it down. The ground state always shifts downward at second order — "level repulsion."

Why do we need degenerate perturbation theory?

The standard formulas blow up when two unperturbed states share the same energy, because the denominator Eₙ⁽⁰⁾ − Eₘ⁽⁰⁾ becomes zero. The fix is to first diagonalize the perturbation V within the degenerate subspace: build the matrix ⟨a|V|b⟩ for the degenerate states and find its eigenvalues. Those eigenvalues are the correct first-order shifts, and the eigenvectors are the "good" zeroth-order states. The perturbation selects which linear combinations are stable — this is exactly why the Stark effect splits the hydrogen n = 2 level into three.

How does perturbation theory explain the Stark and Zeeman effects?

Both are perturbations added to the atomic Hamiltonian. The Stark effect adds V = eE·z (an external electric field E); the Zeeman effect adds V = −μ·B (an external magnetic field B). For the hydrogen ground state the first-order Stark shift vanishes by parity, so the leading effect is second-order and quadratic in E, giving the polarizability α with ΔE = −½αE². For degenerate excited levels the field lifts the degeneracy at first order — the linear Stark effect. The normal Zeeman effect shifts levels by ΔE = m_l μ_B B, splitting a line into a symmetric triplet, where μ_B = 9.274 × 10⁻²⁴ J/T.

When does perturbation theory fail or diverge?

It fails when the perturbation is not small compared with the level spacing — formally when a matrix element ⟨m|V|n⟩ is comparable to the gap Eₙ⁽⁰⁾ − Eₘ⁽⁰⁾, so the series stops converging. Nearly degenerate states are the classic danger: a tiny gap in the denominator makes a term huge. Even when each term is small, the full series is often only asymptotic, not convergent — famously the QED perturbation series and the anharmonic oscillator both diverge if summed to infinity, yet the first few terms are extraordinarily accurate. When the coupling is genuinely strong, you switch to variational methods, exact diagonalization, or non-perturbative techniques.

What is the difference between time-independent and time-dependent perturbation theory?

Time-independent (Rayleigh–Schrödinger) perturbation theory corrects the stationary energy levels and eigenstates of a static Hamiltonian — the E⁽¹⁾ and E⁽²⁾ formulas above. Time-dependent perturbation theory instead treats a perturbation V(t) switched on in time and computes transition probabilities between unperturbed states. Its central result is Fermi's golden rule, Γ = (2π/ħ)|⟨f|V|i⟩|² ρ(E_f), which gives the transition rate into a continuum and underlies absorption, emission, and scattering rates.