Convergence Theory

Last updated: August 2026

Disclaimer: These are my personal notes compiled for my own reference and learning. They may contain errors, incomplete information, or personal interpretations. While I strive for accuracy, these notes are not peer-reviewed and should not be considered authoritative sources. Please consult official textbooks, research papers, or other reliable sources for academic or professional purposes.

1. Pointwise convergence, and why it is not enough

Definition

$f_n\to f$ pointwise on $D$ if for every $x\in D$, the sequence of numbers $f_n(x)\to f(x)$ in the sense of the sequences and series note: $\forall\epsilon>0\ \exists N(x,\epsilon)$ such that $n\geq N\Rightarrow|f_n(x)-f(x)|<\epsilon$.

The notation $N(x,\epsilon)$ is deliberate: pointwise convergence allows a completely different rate of convergence at every point. This is not a minor bookkeeping detail — it is exactly what breaks the properties one would hope carry over automatically from each $f_n$ to the limit $f$.

Example ($f_n(x)=x^n$ on $[0,1]$)

Each $f_n$ is continuous, yet the pointwise limit is $f(x)=0$ for $x<1$ and $f(1)=1$ — discontinuous at $x=1$, despite being built entirely from continuous functions.

Continuity of every $f_n$ did not survive the limit. The rest of this note is about the extra condition that repairs this — and precisely which other properties (integrals, derivatives) it does and does not repair.

2. Uniform convergence

Definition

$f_n\to f$ uniformly on $D$ if $\forall\epsilon>0\ \exists N(\epsilon)$ (no dependence on $x$) such that $n\geq N \Rightarrow |f_n(x)-f(x)|<\epsilon$ for every $x\in D$ simultaneously.

Proposition (Sup-norm characterization)

$f_n\to f$ uniformly on $D$ iff $\|f_n-f\|_\infty := \sup_{x\in D}|f_n(x)-f(x)| \to 0$ as a sequence of numbers.

Immediate from the definitions: "$|f_n(x)-f(x)|<\epsilon$ for every $x$ simultaneously, for $n\geq N$" is exactly "$\sup_x|f_n(x)-f(x)|\leq\epsilon$ for $n\geq N$," which is exactly $\|f_n-f\|_\infty\to0$ in the ordinary $\epsilon$-$N$ sense. This reformulation is often the easiest way to check or refute uniform convergence in practice: compute (or bound) one number per $n$, rather than reason about every $x$ separately.

Left panel: the functions x^n for increasing n on [0,1], converging to 0 pointwise except at x=1. Right panel: the supremum distance between f_n and the pointwise limit, which stays exactly at 1 for every n, never shrinking.
Figure — Pointwise convergence with $\|f_n-f\|_\infty$ that never moves. Left: $f_n(x)=x^n$ visibly flattens toward $0$ at each fixed $x<1$. Right: $\sup_{x\in[0,1)}|f_n(x)-0|=1$ for every $n$ (approached as $x\to1^-$, however large $n$ is) — the sup-norm distance to the limit is exactly $1$ at $n=1$ and still exactly $1$ at $n=150$. This is the numerical signature of "pointwise but not uniform," directly via the characterization above, and it is why continuity failed to survive in Section 1's example.

3. Continuity is preserved under uniform limits

Theorem

If $f_n\to f$ uniformly on $D$ and each $f_n$ is continuous at $a\in D$, then $f$ is continuous at $a$.

Proof. Fix $\epsilon>0$. By uniform convergence, choose $N$ with $\|f_N-f\|_\infty<\epsilon/3$. By continuity of $f_N$ at $a$, choose $\delta>0$ with $|x-a|<\delta\Rightarrow|f_N(x)-f_N(a)|<\epsilon/3$. Then for $|x-a|<\delta$, $x\in D$:

$$|f(x)-f(a)| \leq \underbrace{|f(x)-f_N(x)|}_{<\epsilon/3} + \underbrace{|f_N(x)-f_N(a)|}_{<\epsilon/3} + \underbrace{|f_N(a)-f(a)|}_{<\epsilon/3} < \epsilon.$$

This "$\epsilon/3$" pattern — insert and subtract a well-chosen intermediate quantity, then bound each of three pieces separately — is one of the most common proof techniques in analysis; here the intermediate quantity is a single, sufficiently-close-in-sup-norm member $f_N$ of the sequence itself.

4. Interchanging limits with integrals

Theorem

If $f_n\to f$ uniformly on $[a,b]$ and each $f_n$ is (Riemann) integrable, then $f$ is integrable and $\lim_{n\to\infty}\int_a^b f_n(x)\,dx = \int_a^b f(x)\,dx$.

Proof (of the limit-interchange, granting integrability of $f$).
$$\left|\int_a^b f_n(x)\,dx - \int_a^b f(x)\,dx\right| = \left|\int_a^b\big(f_n(x)-f(x)\big)\,dx\right| \leq \int_a^b|f_n(x)-f(x)|\,dx \leq (b-a)\,\|f_n-f\|_\infty \to 0.$$

(Integrability of $f$ itself is a separate, purely Riemann-integration-theory fact — a uniform limit of Riemann-integrable functions on a bounded interval is Riemann-integrable — not reproved here; see Rudin, 1976, Thm. 7.16.)

The bound $(b-a)\|f_n-f\|_\infty$ makes the mechanism explicit: uniform convergence controls the worst-case pointwise error uniformly across the whole interval, which is exactly what is needed to control an integral (an average, weighted by length) of that error. Pointwise convergence alone gives no such control — the standard counterexample is a sequence of tall, thin "bump" functions with height $n$ and width $1/n^2$ sliding across $[0,1]$: pointwise limit $0$ everywhere, but $\int_0^1 f_n = n/2\to\infty\neq\int_0^1 0$.

5. Differentiation is the delicate case

Uniform convergence of $f_n\to f$ is not enough to conclude $f_n'\to f'$ — differentiation needs its own, stronger hypothesis:

Theorem (differentiation and uniform convergence)

If $f_n\to f$ pointwise on $[a,b]$, each $f_n$ is differentiable, and $f_n'\to g$ uniformly on $[a,b]$, then $f$ is differentiable with $f'=g$.

(Proof omitted — it goes through the Mean Value Theorem applied to $f_n-f_m$ and is a differentiation-theory argument in its own right; see Rudin, 1976, Thm. 7.17.) The hypothesis is on the derivatives' convergence, not the functions' — and the gap between the two is not a technicality:

Left panel: f_n(x) = sin(nx)/n converging uniformly to 0 as n grows, with shrinking amplitude. Right panel: the derivatives f_n'(x) = cos(nx), which oscillate faster and faster without converging anywhere.
Figure — Uniform convergence of $f_n$ is silent about $f_n'$. $f_n(x)=\sin(nx)/n\to0$ uniformly ($\|f_n\|_\infty=1/n\to0$, left), so if differentiating-under-the-limit were automatic, one would expect $f_n'\to0'=0$. But $f_n'(x)=\cos(nx)$ (right) oscillates between $-1$ and $1$ at ever-increasing frequency and converges at no point at all — its amplitude never shrinks, only its wavelength. This is precisely why Section 5's theorem places its hypothesis on $f_n'$, not $f_n$: convergence of the functions themselves, however uniform, carries no information about the derivatives.

6. Series of functions and the Weierstrass M-test

A series of functions $\sum f_n$ converges uniformly if its partial sums $S_N=\sum_{n\leq N}f_n$ do, in the sense of Section 2. The most common practical tool for establishing this without computing the limit:

Theorem (Weierstrass M-test)

If $|f_n(x)|\leq M_n$ for all $x\in D$ and $\sum M_n$ converges, then $\sum f_n$ converges uniformly on $D$.

Proof. For $M>N$, $|S_M(x)-S_N(x)| = \left|\sum_{n=N+1}^M f_n(x)\right| \leq \sum_{n=N+1}^M|f_n(x)| \leq \sum_{n=N+1}^M M_n$, a bound that does not depend on $x$. Since $\sum M_n$ converges, its tail $\sum_{n=N+1}^M M_n\to0$ as $N\to\infty$ (Cauchy criterion for series, sequences and series note, Section 5) — so $\{S_N(x)\}$ is uniformly (in $x$) Cauchy, which by the same completeness argument used pointwise at every $x$, together with the uniformity of the bound, gives uniform convergence.

This closes a citation left open in the sequences and series note: term-by-term differentiation of a power series strictly inside its radius of convergence is justified by applying the M-test to the differentiated series (which has the same radius of convergence, by comparing $\limsup|nc_n|^{1/n}=\limsup|c_n|^{1/n}$), giving uniform convergence on any closed sub-interval, which is exactly the hypothesis Section 5's theorem needs.

7. Dini and Stone–Weierstrass, without proof

Two further results are worth knowing precisely, though proving them is beyond this note's scope:

Dini's Theorem

If $f_n\to f$ pointwise on a compact set $K$, each $f_n$ and $f$ are continuous, and the convergence is monotone ($f_n(x)$ increasing or decreasing in $n$, for each fixed $x$), then the convergence is in fact uniform.

(See Rudin, 1976, Thm. 7.13.) Monotonicity plus a continuous limit is enough to upgrade pointwise to uniform — notably, $f_n(x)=x^n$ on $[0,1]$ satisfies monotonicity and pointwise convergence but is excluded by this theorem precisely because its limit is not continuous, consistent with Section 1.

Stone–Weierstrass Theorem

If $X$ is compact and $\mathcal{A}\subseteq C(X)$ is an algebra of continuous functions that separates points and contains the constants, then $\mathcal{A}$ is dense in $C(X)$ under the sup norm.

(See Rudin, 1976, Thm. 7.32.) Specialized to $X=[a,b]$ and $\mathcal{A}=$ polynomials, this says every continuous function on $[a,b]$ is a uniform limit of polynomials — the density statement is precisely about the mode of convergence developed in this note, not merely pointwise approximation.

8. Computation

The figures above are generated by convergence/generate_figures.py. The snippet below verifies the sup-norm rate for a genuinely uniformly convergent sequence, and checks the Weierstrass M-test's tail bound numerically for $\sum x^n/n^2$ on $[-1,1]$.

import numpy as np

# A genuinely uniformly convergent sequence: f_n(x) = x/n on [0,1]
for n in (1, 10, 100, 1000):
    x = np.linspace(0, 1, 1000)
    sup_norm = np.max(np.abs(x / n))
    print(f"n={n:5d}: sup|f_n - 0| = {sup_norm:.6f}  (predicted 1/n = {1/n:.6f})")

# M-test: sum x^n/n^2 on [-1,1], M_n = 1/n^2
x = np.linspace(-1, 1, 2000)
S_ref = sum(x**n / n**2 for n in range(1, 2000))  # proxy for the limit
for N in (5, 20, 100):
    S_N = sum(x**n / n**2 for n in range(1, N + 1))
    sup_err = np.max(np.abs(S_N - S_ref))
    tail_bound = sum(1 / n**2 for n in range(N + 1, 2000))
    print(f"N={N:4d}: sup|S_N - S| = {sup_err:.3e}   M-test tail bound = {tail_bound:.3e}")

Actual output:

n=    1: sup|f_n - 0| = 1.000000  (predicted 1/n = 1.000000)
n=   10: sup|f_n - 0| = 0.100000  (predicted 1/n = 0.100000)
n=  100: sup|f_n - 0| = 0.010000  (predicted 1/n = 0.010000)
n= 1000: sup|f_n - 0| = 0.001000  (predicted 1/n = 0.001000)

N=   5: sup|S_N - S| = 1.808e-01   M-test tail bound = 1.808e-01
N=  20: sup|S_N - S| = 4.827e-02   M-test tail bound = 4.827e-02
N= 100: sup|S_N - S| = 9.450e-03   M-test tail bound = 9.450e-03

Both match to displayed precision: $f_n(x)=x/n$'s sup-norm error is exactly $1/n$ (contrast with Section 2's figure, where the analogous quantity for $x^n$ never shrinks at all), and the M-test's tail bound is not merely an upper bound in this example but numerically indistinguishable from the actual sup-norm error — the proof's inequality is close to tight here.

9. Common pitfalls

Pitfall — Assuming a pointwise limit inherits continuity, integrability behavior, or differentiability for free

None of these transfer from pointwise convergence alone (Section 1's example kills continuity; the sliding-bump example in Section 4 kills the integral interchange). Uniform convergence repairs continuity and the integral interchange; differentiation needs the strictly stronger hypothesis of Section 5 on the derivatives themselves.

Pitfall — "Uniform continuity" and "uniform convergence" are different uses of the same word

Uniform continuity (see the continuity note, Section 7) is a property of a single function on a set: one $\delta$ works at every point. Uniform convergence is a property of a sequence of functions: one $N$ works at every point. They are not the same claim about the same kind of object, despite "uniform" doing structurally similar work in both (removing a dependence on a location variable — $x$ in one case, the index in the other).

Pitfall — Uniform convergence is domain-dependent, just like uniform continuity

$f_n(x)=x^n$ is not uniformly convergent on $[0,1)$ or $[0,1]$ (Section 1), but restricted to $[0,1-\delta]$ for any fixed $\delta>0$, it converges uniformly to $0$ (the sup norm there is $(1-\delta)^n\to0$). Always state the domain when claiming or denying uniform convergence.

Pitfall — This note's convergence is not the only mode that matters

Uniform (sup-norm) convergence is the strongest common mode, but far from the only one used in practice: the causal $\mathrm{MA}(\infty)$ representation constructed in the time series note uses mean-square convergence ($E[(X_T-\sum_{j<T}\phi^j\varepsilon_{t-j})^2]\to0$), a genuinely different — and, for that construction, more natural — notion, neither implied by nor implying uniform convergence in general.

10. Connections

11. References