Skip to main content
University Physics V

University Physics V · Mathematical Foundations of Quantum Physics · 1.8

Fourier series, Fourier transforms, and conjugate variables

Fourier analysis is the spectral theorem applied to a single operator. This topic builds the exponential eigenbasis on an interval, watches its discrete spectrum close into a continuum as L → ∞, checks that the transform is unitary, and ends at a keyboard: what numpy.fft.fft really expands, and why aliasing and leakage belong to the basis rather than to the signal.

01

Build the model

Connect the measurement to the mechanism.

The complex exponentials are not one basis among many: e(ikx) solves −i e′ = k e, so they are the eigenfunctions of the derivative, and writing a function in them turns every constant-coefficient differential operator into multiplication by a function of k. On a finite interval with periodic boundary conditions, −i d/dx is self-adjoint and its spectrum is discrete, kₙ = 2πn/L; the normalised e(ikₙx)/√L form a countable orthonormal basis of L², and a Fourier series is nothing but expansion on that eigenbasis, cₙ = ⟨eₙ|f⟩, exactly as for any Hermitian matrix. Let L → ∞ and the mode spacing 2π/L closes up: the sum becomes an integral, the coefficient list becomes a function f̃(k), and orthonormality survives only in the distributional form ⟨k|k′⟩ = δ(k − k′) — the price of a continuous spectrum is basis elements that no longer live in the space.

What survives intact is unitarity: Plancherel's theorem says the transform preserves every inner product, so f and f̃ are the same vector written in two bases, and norm — later, total probability — is representation-independent. The machinery also delivers a hard theorem about widths: a function and its transform cannot both be narrow, Δx Δk ≥ 1/2, with equality only for Gaussians. That inequality is pure analysis; quantum mechanics will buy it wholesale by setting p = ħk.

Simple definition
A Fourier expansion writes a function as amplitudes along the eigenfunctions of −i d/dx — a discrete sum of e(ikₙx) on a finite interval, a δ-normalised integral over e(ikx) on the line — and the map between f(x) and f̃(k) is a unitary change of basis on L².
Example
On a ring of circumference L = 1.0 μm the allowed wavenumbers step by Δk = 2π/L = 6.3 rad μm⁻¹; stretch to L = 10 μm and the step drops to 0.63 rad μm⁻¹ — the L → ∞ route that turns the series into the transform.
Exponential eigenbasis on an intervaleₙ(x) = e(ikₙx)/√L, kₙ = 2πn/L, n ∈ ℤ

The eigenfunctions of −i d/dx under the boundary condition that makes it self-adjoint — a Fourier series is the spectral theorem applied to one operator.

periodic boundary conditions on a length-L interval; kₙ in rad m⁻¹, L in m

Series coefficients are projectionsf = Σ cₙeₙ, cₙ = ⟨eₙ|f⟩ = (1/√L) ∫₀ᴸ e(−ikₙx) f(x) dx

One inner product per coefficient, exactly as on a Hermitian matrix's eigenbasis — no simultaneous equations, orthonormality does all the work.

cₙ carries the unit of f times m^½; Parseval: Σ|cₙ|² = ⟨f|f⟩

Transform pair, symmetric conventionf̃(k) = (1/√(2π)) ∫ f(x) e(−ikx) dx, f(x) = (1/√(2π)) ∫ f̃(k) e(ikx) dk

One square-integrable function of k replaces the coefficient list; scaled by ħ this becomes Unit 3's position–momentum change of basis.

the L → ∞ limit of the series: √(L/2π) cₙ → f̃(kₙ) as the spacing 2π/L → 0

Δ-function orthonormality(1/2π) ∫ e(i(k−k′)x) dx = δ(k − k′)

The continuum's substitute for ⟨eₘ|eₙ⟩ = δₘₙ: a plane wave indexes the spectrum without belonging to the space, and only wave packets built from plane waves are states.

a distribution, not a function — e(ikx) has infinite norm and is no member of L²

Plancherel's theorem∫ |f(x)|² dx = ∫ |f̃(k)|² dk, ⟨f|g⟩ = ⟨f̃|g̃⟩

Unitarity is what lets a density be read in either representation: the transform moves coordinates, never lengths or angles between vectors.

the transform preserves every inner product; if f carries unit U, both sides carry U² m

Conjugate width boundΔx · Δk ≥ 1/2, equality only for the Gaussian

A theorem about any transform pair — radar pulses obey it too. No ħ, no measurement, no quantum mechanics is involved yet.

Δ is the rms width of the squared modulus; substituting p = ħk gives Δx Δp ≥ ħ/2

01

The boundary condition picks the basis

On [0, L] the operator −i d/dx is only symmetric once the boundary term f*g at the ends vanishes, and periodic boundary conditions f(0) = f(L) are one choice that makes it genuinely self-adjoint — each twisted condition f(L) = e(iθ) f(0) is another, and shifts every eigenvalue by θ/L. Its eigenvalue problem −i e′ = k e has solutions e(ikx) for every real k, but the boundary condition keeps only kₙ = 2πn/L: the discreteness of a Fourier series is not a property of the exponentials, it is the boundary condition thinning a continuum. Orthonormality is a two-line check — ⟨eₘ|eₙ⟩ = (1/L)∫₀ᴸ e(i(kₙ−kₘ)x) dx integrates a whole number of turns to zero unless m = n — and completeness is the spectral theorem's promise for this operator. Expansion is then the standard move of topic 1.4: each coefficient is a projection, cₙ = ⟨eₙ|f⟩, and the discrete spectrum is why this eigenbasis is countable, as the separability of L² requires.

02

Coefficient decay is smoothness, read before computing

The coefficient list is more than a representation; its decay rate is a diagnosis. Integrate cₙ = ⟨eₙ|f⟩ by parts once and the boundary terms cancel by periodicity, leaving the coefficients of f′ equal to ikₙcₙ: every derivative the function owns in L² buys one extra power of 1/n of decay. A unit square wave, with a jump, has odd-harmonic sine amplitudes 4/(πn) and nothing else, so |cₙ| falls only as 1/n: the series converges pointwise but not uniformly, and a partial sum overshoots each jump by about 9 per cent of its height however many terms are kept — Gibbs's overshoot narrows with N but never shrinks. A C∞ periodic function's coefficients fall faster than any power of 1/n. So before computing anything you can say how many terms a truncation needs, and afterwards you can read a measured spectrum's slope as the smoothness of the thing that produced it.

03

Stretch the interval and the spectrum closes up

Let the interval grow. The allowed wavenumbers kₙ = 2πn/L pack together with spacing Δk = 2π/L, so a sum over n is (L/2π) Σ Δk — primed to become an integral. The coefficients themselves shrink like 1/√L, so define f̃(kₙ) = √(L/2π) cₙ = (1/√(2π)) ∫ e(−ikₙx) f(x) dx over the interval, which stays finite; as L → ∞ the series pair turns into the symmetric transform pair, with (1/√(2π)) e(ikx) playing the basis role. But the basis has paid a price: ∫|e(ikx)|² dx diverges, so no plane wave is a vector in L². What replaces ⟨eₘ|eₙ⟩ = δₘₙ is the distributional statement (1/2π)∫e(i(k−k′)x) dx = δ(k − k′): continuum basis elements are normalised to a δ, labels for a continuous spectrum rather than members of the space. The genuine vectors are wave packets — integrals of e(ikx) against a square-integrable f̃(k) — and this is exactly the status |p⟩ and |x⟩ will hold from Unit 3 onwards.

04

The transform is unitary, and it diagonalises translation

Plancherel's theorem upgrades the transform from an integral formula to a unitary operator: ⟨f|g⟩ = ⟨f̃|g̃⟩ for every pair, so in particular ∫|f|² dx = ∫|f̃|² dk. Nothing about the vector changed — only the basis it is written in, the same insert-a-resolution-of-the-identity move as topic 1.5, executed with the |k⟩ family. Unitarity is what the transform buys operationally. Differentiation becomes multiplication: −i d/dx acting on f appears as k f̃(k), and d²/dx² as −k² f̃(k), so any constant-coefficient differential equation collapses to algebra in the k basis — the transform diagonalising every operator that commutes with translation. Numerically it is why one free-particle Schrödinger step is an FFT, a multiplication by e(−iħk²t/2m), and an inverse FFT.

05

Conjugate widths: the bound comes with the transform

Define the widths honestly: Δx is the rms spread of |f|² about its mean, Δk the same for |f̃|². Cauchy–Schwarz — the inequality of topic 1.3 — applied to the pair xf and f′ gives Δx Δk ≥ 1/2, with equality exactly when f′ ∝ xf, i.e. for Gaussians, which transform into Gaussians with widths σ and 1/(2σ). The theorem owns every transform pair, not only quantum ones: a Gaussian light pulse of rms duration Δt = 10 ns has bandwidth Δω ≥ 1/(2 × 10⁻⁸ s) = 5 × 10⁷ rad s⁻¹, about 8 MHz, and laser physicists call the equality case transform-limited. Nothing here was measured and no ħ appeared. Unit 3 will multiply k by ħ and call the result momentum; the inequality comes along unchanged, and the quantum content is that matter is described by an amplitude at all.

06

What the FFT actually diagonalises

numpy.fft.fft does not compute the transform of your function; it diagonalises the cyclic shift on N samples, which is the Fourier series of a surrogate that repeats with period NΔx. Its k grid has spacing Δk = 2π/(NΔx) and stops at the Nyquist value π/Δx. Two artefacts follow from the basis, not the signal. Aliasing: on the sample grid e(ikx) and e(i(k−2π/Δx)x) agree at every sample, so a component above Nyquist lands folded — 900 Hz sampled at 1000 samples per second is indistinguishable from 100 Hz, and since the two are identical at the sampler no later processing can separate them; anti-alias filters therefore act in hardware, before digitisation. Leakage: a frequency that does not complete a whole number of cycles in the window is orthogonal to no grid exponential, so its energy smears into sinc-shaped sidelobes across the bins; windows such as Hann trade sidelobe height for main-lobe width. Reading an FFT is reading a projection onto a basis you chose.

02

Change one variable at a time

Make the relationship visible.

Interactive model
0.8 nm
0.0 nm
0.0 nm⁻¹

Squeeze Δx from 2.0 down to 0.4 nm and watch the position peak shoot up while the spectrum flattens and spreads, the product readout never leaving 0.500 — then drag x₀, which moves the packet but leaves the spectrum untouched (a pure phase), and k₀, which does exactly the reverse.

Interactive physics modelA Gaussian packet and its Fourier transform drawn as the densities |f(x)|² and |f̃(k)|² on conjugate axes. Each horizontal bar spans one rms width either side of its centre: Δx = 0.80 nm against Δk = 0.63 nm⁻¹, product 0.500 at every setting. Both curves enclose the same area — Plancherel's theorem, drawn.|f(x)|² position density|f̃(k)|² transform densityΔx⋅Δk = 0.500 — pinned at the Gaussian boundx / nmk / nm⁻¹00

Δx RMS WIDTH0.80 nm

Δk RMS WIDTH0.63 nm⁻¹

PRODUCT Δx⋅Δk0.500

SPECTRUM CENTRE ⟨k⟩0.0 nm⁻¹

Live interpretationΔx RMS WIDTH: 0.80 nm. Δk RMS WIDTH: 0.63 nm⁻¹. PRODUCT Δx⋅Δk: 0.500. SPECTRUM CENTRE ⟨k⟩: 0.0 nm⁻¹

03

Catch the common trap

Explain before calculating.

A real signal containing a 620 Hz component is sampled at 1000 samples per second for 1.0 s and handed to numpy.fft.fft. At what frequency does that component's peak appear in the magnitude spectrum?

Choose an answer to test the model.

04

Practice & worked examples

Reason from the model, then test the result.

EasyOn the interval [−L/2, L/2] with periodic boundary conditions and basis eₙ(x) = e(i2πnx/L)/√L, expand f(x) = A cos(2πx/L) with A = 3.0 and L = 2.0, and verify Parseval's identity.
  1. Write the cosine in the basis's own language: cos(2πx/L) = (e(i2πx/L) + e(−i2πx/L))/2, so f = (A/2)(e(i2πx/L) + e(−i2πx/L)).
  2. Match against f = Σ cₙeₙ with eₙ = e(i2πnx/L)/√L: only n = ±1 appear, and c₊₁ = c₋₁ = A√L/2 = 3.0 × √2/2 = 2.121. No integral was needed — matching exponentials is reading off the inner products.
  3. Compute the norm directly: ⟨f|f⟩ = A² ∫ cos²(2πx/L) dx = A² L/2 = 9.0 × 1.0 = 9.0.
  4. Parseval: Σ|cₙ|² = 2 × (2.121)² = 2 × 4.50 = 9.0 ✓ — the coefficient list carries exactly the vector's squared length.

Answerc₊₁ = c₋₁ = 2.12, every other coefficient zero; Σ|cₙ|² = 9.0 = ⟨f|f⟩, confirming Parseval.

MediumA normalised Gaussian wave packet has position density |f(x)|² of rms width σ = 0.50 nm. Find the rms width Δk of its transform, show the packet saturates the conjugate-width bound, and — anticipating p = ħk — state the momentum spread this will imply.
  1. Take f(x) = (2πσ²)(−1/4) e(−x²/(4σ²)): its density |f|² is a normal curve of standard deviation σ, so Δx = σ = 0.50 nm.
  2. Transforming a Gaussian gives a Gaussian: f̃(k) ∝ e(−σ²k²), so |f̃|² ∝ e(−2σ²k²) — a normal curve in k with variance 1/(4σ²).
  3. Hence Δk = 1/(2σ) = 1/(2 × 0.50 nm) = 1.0 nm⁻¹, and Δx⋅Δk = 0.50 × 1.0 = 0.50 — the equality case of the bound, reached only by Gaussians.
  4. Substitute p = ħk: Δp = ħΔk = 1.055 × 10⁻³⁴ J s × 1.0 × 10⁹ m⁻¹ = 1.1 × 10⁻²⁵ kg m s⁻¹. The physics is one substitution; the inequality was already a theorem about transform pairs.

AnswerΔk = 1.0 nm⁻¹ and Δx⋅Δk = 0.50 exactly — transform-limited; with p = ħk, Δp ≈ 1.1 × 10⁻²⁵ kg m s⁻¹.

HardA normalised top-hat f(x) = 1/√a for |x| < a/2 and zero elsewhere, with a = 2.0 μm. Find f̃(k), locate its first zeros, and show that the rms width Δk diverges — then say what a jump discontinuity costs in bandwidth.
  1. Normalisation check: ∫|f|² dx = a × (1/a) = 1 ✓.
  2. f̃(k) = (1/√(2π))(1/√a) ∫ from −a/2 to a/2 of e(−ikx) dx = (1/√(2πa)) · 2 sin(ka/2)/k = √(a/2π) · sin(ka/2)/(ka/2). At k → 0 the limit is √(a/2π), so the removable point is finite.
  3. Zeros where ka/2 = nπ, i.e. k = 2πn/a. With a = 2.0 μm the first nulls sit at k = ±π rad μm⁻¹ = ±3.14 rad μm⁻¹, a null-to-null width of 4π/a = 6.28 rad μm⁻¹ — halve the hat and it doubles.
  4. rms width: ∫ k²|f̃|² dk ∝ ∫ sin²(ka/2) dk, which grows without bound. |f̃|² decays only as 1/k², the unmistakable signature of a jump, so the second moment diverges.
  5. Thus Δk = ∞: the bound Δx Δk ≥ 1/2 holds trivially, and rms width is the wrong ruler for edged functions. A Gaussian sharing the top hat's Δx = a/√12 = 0.58 μm would manage Δk = 1/(2 × 0.58) = 0.87 rad μm⁻¹ — finite. Sharp edges, not narrow support, are what cost bandwidth.

Answerf̃(k) = √(a/2π) · sin(ka/2)/(ka/2), first nulls at ±3.14 rad μm⁻¹; Δk diverges because |f̃|² ~ 1/k² — the price of the jump. A same-Δx Gaussian would have Δk = 0.87 rad μm⁻¹.