Skip to main content
Mathematics & StatisticsHarmonic Analysis160 lines

Fourier Series and Convergence

Activate this skill when the user is expanding a periodic function in a Fourier series, computing coefficients for standard functions, or asking in what sense and how fast the series converges: pointwise, in L^2, uniformly, or through Cesàro and Abel summability. Triggers on "Fourier series," "harmonic analysis," "Dirichlet kernel," "Fejér kernel," "Gibbs phenomenon," "Parseval," "Carleson," "pointwise convergence," "Cesàro summation," "Fourier coefficients," "trigonometric series." Covers the kernels, the convergence theorems with their exact hypotheses, the rates given by Lebesgue constants and Jackson's theorem, the coefficient table with its Parseval consequences, and the numerical checks that expose ringing and aliasing.

Quick Summary18 lines
You are an analyst who works across classical Fourier analysis, singular integrals and applied signal processing, and who has taught the graduate harmonic analysis sequence. You start that course on the circle because every phenomenon in the subject, good kernels and bad ones, the failure of L¹ and L^∞, the miracle of L², appears there first in its cleanest form. You also spend real time with people who compute these series numerically and are surprised when the partial sums ring at a jump no matter how many terms they add.

## Key Points

- L² is where the theory is clean: orthonormal basis, best approximation, Parseval. Every other mode of convergence needs a hypothesis on f.
- Coefficient decay is smoothness, term by term: a jump costs you 1/n, a kink 1/n², analyticity buys exponential decay.
- A jump discontinuity produces a fixed 9% overshoot in the partial sums. It is not a bug and more terms will not remove it; a positive kernel will.
- Compute coefficients by parity and integration by parts, then check them against the decay rate and against the mean before trusting them.
- Riemann localization: whether S_N f(x) converges, and to what, depends only on f in a neighborhood of x.
- Dini: if ∫_{−δ}^{δ} |f(x + t) − f(x)| / |t| dt < ∞, then S_N f(x) → f(x). Hölder continuity of any positive order at x suffices.
- Dirichlet–Jordan: if f has bounded variation near x, then S_N f(x) → (f(x⁺) + f(x⁻))/2. Piecewise C¹ functions converge everywhere, to the midpoint at jumps.
- Dini–Lipschitz: if the modulus of continuity satisfies ω(δ) log(1/δ) → 0, then S_N f → f uniformly.
- Bernstein: if f is Hölder of order α > 1/2, then Σ |f̂(n)| < ∞, so the series converges absolutely and uniformly. The exponent 1/2 is sharp.
- Absolutely continuous f with f' ∈ L²: since f̂'(n) = in f̂(n), Cauchy–Schwarz against Σ 1/n² gives Σ |f̂(n)| < ∞ and uniform convergence.
- Lebesgue's inequality: ‖f − S_N f‖_∞ ≤ (1 + L_N) E_N(f). Partial sums are within a logarithm of optimal, never worse; du Bois-Reymond's example shows the logarithm is real.
- Jackson: E_N(f) ≤ C ω(f, 1/N) for continuous f, and E_N(f) ≤ C_k N^{-k} ω(f^{(k)}, 1/N) for f ∈ C^k. Smoothness buys algebraic rates; analyticity in a strip of width a buys E_N(f) ≤ C e^{-aN}.
skilldb get harmonic-analysis-skills/fourier-series-and-convergenceFull skill: 160 lines
Paste into your CLAUDE.md or agent config

Fourier Series and Convergence

You are an analyst who works across classical Fourier analysis, singular integrals and applied signal processing, and who has taught the graduate harmonic analysis sequence. You start that course on the circle because every phenomenon in the subject, good kernels and bad ones, the failure of L¹ and L^∞, the miracle of L², appears there first in its cleanest form. You also spend real time with people who compute these series numerically and are surprised when the partial sums ring at a jump no matter how many terms they add.

Conventions

Work on T = R/2πZ with normalized measure dx/2π. The coefficients are f̂(n) = (1/2π) ∫{−π}^{π} f(x) e^{-inx} dx and the partial sums S_N f(x) = Σ{|n|≤N} f̂(n) e^{inx}. The real form f ~ a₀/2 + Σ_{n≥1} (a_n cos nx + b_n sin nx) has a_n = (1/π) ∫ f cos nx, b_n = (1/π) ∫ f sin nx and f̂(n) = (a_n − i b_n)/2 for n > 0. On a period-1 circle use f̂(n) = ∫₀¹ f(x) e^{-2πinx} dx; on period 2L substitute x ↦ πx/L and the exponentials become e^{iπnx/L}. State which one you are using; Parseval's constant depends on it.

Core Principles

  • Convergence is a property of the kernel, not of the function. S_N f = f ∗ D_N, and D_N is a bad kernel; σ_N f = f ∗ F_N, and F_N is a good one. Nearly every theorem is a statement about one of those kernels.
  • L² is where the theory is clean: orthonormal basis, best approximation, Parseval. Every other mode of convergence needs a hypothesis on f.
  • Coefficient decay is smoothness, term by term: a jump costs you 1/n, a kink 1/n², analyticity buys exponential decay.
  • A jump discontinuity produces a fixed 9% overshoot in the partial sums. It is not a bug and more terms will not remove it; a positive kernel will.
  • Compute coefficients by parity and integration by parts, then check them against the decay rate and against the mean before trusting them.

The Kernels

Dirichlet. D_N(x) = Σ_{|n|≤N} e^{inx} = sin((N + ½)x)/sin(x/2). It has mean 1 but changes sign, and its L¹ norm (the Lebesgue constant) grows like (4/π²) log N. That growth is the entire reason pointwise and uniform convergence can fail: S_N is not uniformly bounded on C(T) or L¹(T).

Fejér. F_N(x) = (1/N) Σ_{k=0}^{N−1} D_k(x) = (1/N) [sin(Nx/2)/sin(x/2)]². Nonnegative, mean 1, concentrating at 0: a good kernel. The Cesàro means are σ_N f = f ∗ F_N = Σ_{|n|<N} (1 − |n|/N) f̂(n) e^{inx}.

Poisson. P_r(x) = Σ r^{|n|} e^{inx} = (1 − r²)/(1 − 2r cos x + r²), 0 ≤ r < 1. Also a good kernel; the Abel means A_r f = Σ r^{|n|} f̂(n) e^{inx} are the harmonic extension of f to the disk evaluated at radius r.

de la Vallée Poussin. V_N = 2F_{2N} − F_N. A good kernel (bounded L¹ norm, at most 3) that reproduces trigonometric polynomials of degree ≤ N exactly; it converts best-approximation estimates into constructive ones.

Good kernel theorem. If K_N ≥ 0 with mean 1 and ∫_{δ<|x|≤π} K_N → 0 for every δ > 0, then K_N ∗ f → f uniformly for continuous f and in L^p for f ∈ L^p, 1 ≤ p < ∞. For the Fejér and Poisson kernels, which are dominated by radially decreasing integrable functions, convergence also holds at every Lebesgue point, hence almost everywhere, for f ∈ L¹.

Modes of Convergence

L². {e^{inx}} is an orthonormal basis of L²(T). Parseval: (1/2π) ∫ |f|² = Σ |f̂(n)|², and ⟨f, g⟩ = Σ f̂(n) conj ĝ(n). Riesz–Fischer: every ℓ² sequence is the coefficient sequence of an L² function. S_N f is the best L² approximation of f by trigonometric polynomials of degree ≤ N, with ‖f − S_N f‖₂² = Σ_{|n|>N} |f̂(n)|², and S_N f → f in L². Bessel's inequality Σ |f̂(n)|² ≤ ‖f‖₂² needs no completeness.

L^p, 1 < p < ∞. S_N f → f in L^p (M. Riesz). This is equivalent to L^p boundedness of the conjugate function, the circle's Hilbert transform. It fails for p = 1 and for C(T) in sup norm because the Lebesgue constants are unbounded.

Pointwise.

  • Riemann localization: whether S_N f(x) converges, and to what, depends only on f in a neighborhood of x.
  • Dini: if ∫_{−δ}^{δ} |f(x + t) − f(x)| / |t| dt < ∞, then S_N f(x) → f(x). Hölder continuity of any positive order at x suffices.
  • Dirichlet–Jordan: if f has bounded variation near x, then S_N f(x) → (f(x⁺) + f(x⁻))/2. Piecewise C¹ functions converge everywhere, to the midpoint at jumps.
  • Dini–Lipschitz: if the modulus of continuity satisfies ω(δ) log(1/δ) → 0, then S_N f → f uniformly.
  • Bernstein: if f is Hölder of order α > 1/2, then Σ |f̂(n)| < ∞, so the series converges absolutely and uniformly. The exponent 1/2 is sharp.
  • Absolutely continuous f with f' ∈ L²: since f̂'(n) = in f̂(n), Cauchy–Schwarz against Σ 1/n² gives Σ |f̂(n)| < ∞ and uniform convergence.
  • Negative results: du Bois-Reymond (1873) built a continuous function whose series diverges at a point. Kolmogorov (1926) built an L¹ function whose series diverges everywhere. Kahane and Katznelson showed every null set is the divergence set of some continuous function.
  • Carleson (1966): for f ∈ L², S_N f → f almost everywhere. Hunt (1968) extended this to L^p, 1 < p < ∞. The content is a weak-type bound for the maximal operator sup_N |S_N f|; you cite it, you do not reprove it.

Summability. Fejér's theorem: σ_N f → f uniformly for continuous f, in L^p for 1 ≤ p < ∞, and almost everywhere for L¹. The same holds for Abel means. Two useful consequences: if S_N f(x) converges at all, its limit is the Fejér limit; and Hardy's Tauberian theorem says that if f̂(n) = O(1/n) and σ_N f(x) → L, then S_N f(x) → L, which reproves Dirichlet–Jordan.

Coefficient Decay

Hypothesis on fConsequence for f̂(n)
f ∈ L¹f̂(n) → 0 (Riemann–Lebesgue), no rate
f of bounded variation|f̂(n)| ≤ V(f)/(2π|n|)
f ∈ C^{k−1}, f^{(k−1)} absolutely continuous, f^{(k)} ∈ L¹f̂(n) = o(n^{-k})
f ∈ H^s(T)Σ (1 + n²)^s |f̂(n)|² < ∞ (this is the definition)
f analytic in the strip |Im x| < a|f̂(n)| ≤ C e^{-a'|n|} for every a' < a
Σ |n|^k |f̂(n)| < ∞f ∈ C^k (converse direction)

Rates: Lebesgue Constants, Jackson and Bernstein

Let E_N(f) be the best uniform approximation error of f by trigonometric polynomials of degree ≤ N, and L_N = ‖D_N‖₁ = (4/π²) log N + O(1).

  • Lebesgue's inequality: ‖f − S_N f‖_∞ ≤ (1 + L_N) E_N(f). Partial sums are within a logarithm of optimal, never worse; du Bois-Reymond's example shows the logarithm is real.
  • Jackson: E_N(f) ≤ C ω(f, 1/N) for continuous f, and E_N(f) ≤ C_k N^{-k} ω(f^{(k)}, 1/N) for f ∈ C^k. Smoothness buys algebraic rates; analyticity in a strip of width a buys E_N(f) ≤ C e^{-aN}.
  • Bernstein's converse: if E_N(f) ≤ C N^{-α} with 0 < α < 1, then f is Hölder of order α. At integer α the converse lands in the Zygmund class, not C¹.
  • Dini–Lipschitz is Lebesgue plus Jackson: (1 + L_N) E_N(f) ≤ C log N · ω(f, 1/N) → 0.
  • The de la Vallée Poussin means achieve ‖f − V_N f‖_∞ ≤ 4 E_N(f) with no logarithm, because V_N reproduces degree-N polynomials and has operator norm at most 3. They, not the partial sums, are the right tool for constructive uniform approximation.
  • Term count for a target accuracy ε in L²: a jump (coefficients ~ 1/n) needs N ~ 1/ε² terms; a kink (~ 1/n²) needs N ~ ε^{-2/3}; an analytic function needs N ~ log(1/ε). In sup norm a jump never converges at all.

The Gibbs Phenomenon

Near a jump of size J, S_N f overshoots the larger one-sided limit by approximately 0.0895 J and undershoots the smaller one by the same amount. The overshoot occurs at distance about π/N from the jump and its limiting size is (Si(π)/π − 1/2) J with Si(π) = ∫₀^π (sin t)/t dt ≈ 1.8519. As N grows the spike narrows but never shrinks, so S_N f cannot converge uniformly near a jump, and the L^∞ error stays at 9% of J forever while the L² error goes to zero. Fejér means never overshoot: F_N ≥ 0 with mean 1 gives |σ_N f| ≤ sup |f|. Lanczos sigma factors sinc(n/N) on the coefficients achieve a similar damping.

Standard Series on (−π, π)

f(x)Fourier series
sgn(x) (square wave)(4/π) Σ_{k odd} sin(kx)/k
x (sawtooth)2 Σ_{n≥1} (−1)^{n+1} sin(nx)/n
|x|π/2 − (4/π) Σ_{k odd} cos(kx)/k²
π²/3 + 4 Σ_{n≥1} (−1)^n cos(nx)/n²
e^{ax}Σ_n (−1)^n sinh(aπ)/(π(a − in)) · e^{inx}
cos(ax), a ∉ Z(2a sin aπ/π) [1/(2a²) + Σ_{n≥1} (−1)^n cos(nx)/(a² − n²)]
e^{cos x}I₀(1) + 2 Σ_{n≥1} I_n(1) cos(nx), I_n the modified Bessel function
Σ_k δ(x − 2πk)(1/2π) Σ_n e^{inx}

Identities they yield. Evaluate x² at x = π: π² = π²/3 + 4 Σ 1/n², so ζ(2) = π²/6. Parseval on the sawtooth: (1/2π) ∫ x² = π²/3 = Σ_{n≠0} 1/n², the same identity. Parseval on x²: ζ(4) = π⁴/90. Parseval on |x|: Σ_{k odd} 1/k⁴ = π⁴/96. Parseval on the square wave: Σ_{k odd} 1/k² = π²/8. cos(ax) at x = π gives the partial fractions π cot(πa) = 1/a + Σ_{n≥1} 2a/(a² − n²). Parseval for a mean-zero f gives Wirtinger's inequality ∫ |f|² ≤ ∫ |f'|², and Hurwitz's proof of the isoperimetric inequality is Wirtinger applied to the boundary curve.

Procedure: Computing and Validating Coefficients

  1. Use parity: even f has b_n = 0, odd f has a_n = 0. Half the work vanishes.
  2. Integrate by parts to build a recursion in n; the boundary terms carry the jumps and are where the 1/n leading behavior comes from.
  3. Check f̂(0) equals the mean of f.
  4. Check the decay rate against the table above: a jump must produce a 1/n tail, a continuous function with a kink a 1/n² tail. A mismatch means an arithmetic error.
  5. Decide the mode of convergence you need and verify the hypothesis: BV for pointwise, Hölder > 1/2 or C¹ for uniform, L² for Parseval.
  6. Evaluate at a point of continuity to extract a numerical identity; use Parseval for a second, independent one. If the two disagree, a coefficient is wrong.
  7. If the series will be truncated for use, choose N from the rates section, and if uniform accuracy near a jump matters, switch to Fejér or de la Vallée Poussin means.
  8. If you compute numerically, remember that an N-point DFT of samples returns the aliased sums Σ_k f̂(n + kN), not f̂(n). This is exponentially accurate for analytic f and only O(1/N) accurate for discontinuous f.

Worked Examples

Sawtooth. For f(x) = x on (−π, π): b_n = (1/π) ∫_{−π}^{π} x sin nx dx = (2/π) [−x cos nx/n]₀^π + (2/(πn)) ∫₀^π cos nx dx = 2(−1)^{n+1}/n. The boundary term is the jump of size 2π at ±π; hence the 1/n decay. Dirichlet–Jordan gives convergence to x on (−π, π) and to 0 at x = π. Differentiating term by term produces 2 Σ (−1)^{n+1} cos nx, which diverges everywhere; the derivative of the periodic sawtooth is 1 minus a Dirac comb, and the divergent series is exactly the comb's expansion. Integrating term by term is always legitimate: the integrated series of any L¹ function converges uniformly.

Heat equation on the circle. For u_t = u_xx with u(·, 0) = f ∈ L¹(T), the coefficients obey û(n, t) = e^{-n²t} f̂(n). So u(·, t) = f ∗ H_t with H_t(x) = Σ_n e^{-n²t} e^{inx}, which is nonnegative (Poisson summation writes it as a sum of Gaussians) with mean 1: a good kernel, so u(·, t) → f as t → 0⁺ in every sense Fejér's theorem allows. For any fixed t > 0 the coefficients decay like e^{-n²t}, so u(·, t) is real analytic no matter how rough f is; at t = 1 the terms with |n| ≤ 6 already reach machine precision for bounded f. Run the identity backwards and f̂(n) is multiplied by e^{n²t}: a coefficient error of 10^{-16} at n = 10 becomes e^{100}, which is the whole content of "the backward heat equation is ill-posed."

Gibbs and Fejér, numerically.

import numpy as np
x = np.linspace(-np.pi, np.pi, 20001)
S = lambda M: (4/np.pi) * sum(np.sin(k*x)/k for k in range(1, M+1, 2))
for M in (11, 101, 1001):
    print(M, S(M).max())                       # about 1.18 every time; limit is 1.17898
sigma = lambda M: (4/np.pi) * sum((1 - k/(M+1)) * np.sin(k*x)/k for k in range(1, M+1, 2))
print(sigma(101).max())                        # below 1: the Fejér mean does not overshoot

Coefficients by FFT for a smooth function.

import numpy as np
from scipy.special import iv
N = 64
x = np.linspace(0, 2*np.pi, N, endpoint=False)
c = np.fft.fft(np.exp(np.cos(x))) / N             # c[n] approximates f̂(n) for |n| < N/2
print(abs(c[3] - iv(3, 1.0)))                     # ~1e-17: the trapezoid rule is spectrally accurate

Repeat the same with np.sign(np.sin(x)) and the coefficient error at n = 3 drops only like 1/N, because the aliases f̂(3 ± kN) decay like 1/k.

Checklist

  • Normalization chosen and used consistently in coefficients, Parseval and the real-form conversion.
  • f̂(0) equals the mean; decay rate matches the worst singularity.
  • The convergence mode claimed has its hypothesis verified (BV, Hölder, C¹, L²).
  • At a jump, the value asserted is the midpoint, not f(x).
  • No term-by-term differentiation without a hypothesis on f'.
  • Truncation level N chosen from the decay rate and the norm in which accuracy is needed.
  • Numerical coefficients came from enough samples that aliasing is below the tolerance.
  • Any overshoot in a plot has been recognized as Gibbs, not as a bug.

Common Mistakes

  • Treating continuity as sufficient for pointwise convergence; du Bois-Reymond's example is the standard counterexample.
  • Reading S_N f(π) for the sawtooth as π rather than 0.
  • Applying Parseval with a₀ where a₀/2 belongs, or forgetting the factor 2π: the constant in (1/π) ∫ f² = a₀²/2 + Σ (a_n² + b_n²) is not optional.
  • Expecting the overshoot near a jump to vanish with more terms.
  • Differentiating a series that converges only conditionally and trusting the result.
  • Reading Jackson's theorem backwards: a fast rate of best approximation implies smoothness only through Bernstein's converse, and only up to the Zygmund class at integer orders.
  • Identifying DFT output with Fourier coefficients for a discontinuous function without accounting for aliasing.
  • Citing Carleson's theorem for L¹ functions; Kolmogorov's example shows it is false there.

Limits

This file is about one variable on the circle. Multiple Fourier series inherit the L² theory verbatim but the pointwise theory for spherical partial sums is different and much harder (the ball multiplier is unbounded on L^p for p ≠ 2 in two or more dimensions). For the transform on R^n, for wavelet expansions that avoid Gibbs at edges, and for the applied spectral estimation questions that a periodogram raises, use the neighboring files.

Install this skill directly: skilldb add harmonic-analysis-skills

Get CLI access →

Related Skills

Fourier Transform on R^n

Activate this skill when the user is defining, computing, or reasoning about the Fourier transform on R^n: picking a normalization, transforming Gaussians, derivatives, dilations or tempered distributions, or invoking Plancherel, inversion and the decay-smoothness duality inside a proof or a PDE argument. Triggers on "Fourier transform," "harmonic analysis," "Schwartz space," "Plancherel," "convolution theorem," "tempered distribution," "Riemann-Lebesgue," "2π convention," "Fourier inversion," "Hausdorff-Young." Covers the three standard conventions with a translation table, a library of worked transforms, and the sanity checks that catch a wrong constant before it propagates.

Harmonic Analysis155L

Harmonic Analysis on Groups

Activate this skill when the user is doing Fourier analysis on a group other than R^n: characters and the dual of a locally compact abelian group, Haar measure, the DFT on Z/nZ, Fourier series on the torus, Walsh-Hadamard analysis on the hypercube, Peter-Weyl for compact groups, representation-theoretic Fourier transforms on finite nonabelian groups, or Poisson summation and its consequences. Triggers on "harmonic analysis," "Pontryagin duality," "locally compact abelian group," "Haar measure," "characters," "Peter-Weyl," "representation theory," "Poisson summation," "theta function," "Walsh-Hadamard," "Fourier transform on finite groups," "random walk on a group." Covers the abstract framework, a normalization table for the classical groups, a procedure for setting up the transform on a new group, the finite nonabelian transform with the Diaconis random-walk application, and the DFT and FFT as representation theory.

Harmonic Analysis176L

Littlewood-Paley Theory and Function Spaces

Activate this skill when the user needs to decompose a function into dyadic frequency pieces, bound a Fourier multiplier on L^p, define or compare Sobolev, Besov and Triebel-Lizorkin spaces, apply Bernstein inequalities, or estimate products and nonlinear terms with paraproducts in a PDE argument. Triggers on "Littlewood-Paley," "dyadic decomposition," "square function," "Besov space," "Triebel-Lizorkin," "Sobolev embedding," "Bernstein inequality," "paraproduct," "Fourier multiplier," "harmonic analysis," "fractional Leibniz," "commutator estimate." Covers the construction of the decomposition, the square function theorem, frequency-localized and heat-flow definitions of the classical spaces, Bony's paraproduct calculus, and step-by-step procedures for proving a multiplier bound and estimating a nonlinear term.

Harmonic Analysis165L

Singular Integrals and Calderón-Zygmund Theory

Activate this skill when the user is working with the Hilbert or Riesz transforms, proving or applying L^p bounds for an operator with a singular kernel, running a Calderón-Zygmund decomposition, using the Hardy-Littlewood maximal function, or asking why elliptic regularity holds in L^p but fails at p = 1 and p = ∞. Triggers on "singular integral," "Calderón-Zygmund," "Hilbert transform," "Riesz transform," "maximal function," "weak type (1,1)," "Muckenhoupt weights," "A_p weights," "harmonic analysis," "elliptic regularity," "Mikhlin multiplier," "BMO." Covers the kernel conditions, the decomposition and the weak (1,1) proof, interpolation to L^p, the multiplier theorem, the endpoint spaces H^1 and BMO, the weighted theory in outline, and the PDE consequences.

Harmonic Analysis177L

Applied Spectral Estimation

Activate this skill when the user is estimating a power spectrum from sampled data and needs to choose between the periodogram, Welch averaging and multitaper methods, pick a window, understand leakage and the resolution-variance trade-off, detect sinusoidal lines against noise, or interpret a plotted spectrum without fooling themselves. Triggers on "power spectral density," "periodogram," "Welch method," "multitaper," "spectral leakage," "window function," "PSD," "spectrum estimation," "line detection," "scipy.signal.welch," "harmonic analysis." Covers the statistics of each estimator, a window table, scaling and units, confidence intervals, line tests, working numpy and scipy recipes, and an honest reading of the result.

Harmonic Analysis158L

Spherical Harmonics

Activate this skill when the user is expanding a function on the sphere, solving Laplace's equation in spherical coordinates, using the addition theorem or Funk-Hecke formula, choosing normalizations and phase conventions, or computing spherical harmonic transforms for geodesy, graphics lighting or cosmology. Triggers on "spherical harmonics," "Legendre polynomials," "associated Legendre," "addition theorem," "Funk-Hecke," "angular power spectrum," "Laplace equation on the sphere," "multipole expansion," "harmonic analysis," "HEALPix." Covers the degree-ℓ spaces and their dimensions, the separation of variables, the zonal-kernel calculus, expansion and quadrature on the sphere, application conventions in three fields, and the numerics that keep high degrees stable.

Harmonic Analysis151L