---
title: Pointwise and Uniform Convergence
module: Sequences and Series of Functions
moduleNumber: 7
lessonNumber: 1
order: 701
summary: >
  A sequence of functions has two natural notions of limit. Pointwise
  convergence fixes each input and takes the limit of numbers; uniform
  convergence demands one rate that works for every input at once. The uniform
  norm turns the second into a statement about a single sequence of numbers, and
  the uniform Cauchy criterion and the Weierstrass M-test let us certify it.
topics: [Sequences and Series of Functions]
sources:
  - book: Lebl
    ref: "Ch. 6 — Sequences of Functions; §6.1 Pointwise and uniform convergence"
  - book: Rosenlicht
    ref: "Ch. 7 — Interchange of limit operations"
draft: false
---

A [sequence of real numbers](/real-analysis/sequences-series/sequences-limits)
attaches one number to each $n \in \mathbb{N}$. A **sequence of functions**
attaches one function. For each $n$ we have $f_n : S \to \mathbb{R}$, and we ask
what it means for the whole list $f_1, f_2, f_3, \dots$ to approach a limit
function $f$. Unlike the numerical case, there is more than one reasonable
answer, and the two standard answers behave differently under the operations of
calculus.[^lebl-open]

If $f_n$ is a sequence of continuous functions and
$f_n \to f$ in the weaker sense, $f$ can fail to be continuous. Under the
stronger sense it cannot. The same split decides whether the limit of the
integrals equals the integral of the limit, and whether a power series may be
differentiated term by term. Which convergence holds decides each case.

## Pointwise convergence

The first notion evaluates at a single point and reduces to a numerical limit.

> **Definition (Pointwise convergence).** For each $n \in \mathbb{N}$ let
> $f_n : S \to \mathbb{R}$. The sequence $\{f_n\}$ **converges pointwise** to
> $f : S \to \mathbb{R}$ if for every $x \in S$,
> $$
> f(x) = \lim_{n \to \infty} f_n(x).
> $$

Because limits of numerical sequences are unique, the pointwise limit function
$f$, when it exists, is unique. Spelling the numerical limit out with its
$\epsilon$–$N$ definition gives an equivalent form that exposes the one feature
that matters.

> **Proposition (Pointwise $\epsilon$–$N$ criterion).** $\{f_n\}$ converges
> pointwise to $f$ if and only if for every $x \in S$ and every $\epsilon > 0$
> there exists $N \in \mathbb{N}$ such that
> $$
> |f_n(x) - f(x)| < \epsilon \qquad \text{for all } n \geq N.
> $$

The index $N$ is allowed to depend on both $\epsilon$ and $x$. For a fixed
$\epsilon$, different inputs may demand different thresholds, and nothing forces
those thresholds to have a common bound.

> **Worked example (A discontinuous limit of continuous functions).** On
> $[0, 1]$ define $f_n(x) = x^{2n}$. Fix $x \in [0, 1)$. Then $0 \le x^2 < 1$, so
> $x^{2n} = (x^2)^n \to 0$. At $x = 1$ we have $x^{2n} = 1$ for all $n$. The
> pointwise limit is therefore
> $$
> f(x) = \begin{cases} 0 & \text{if } 0 \le x < 1, \\ 1 & \text{if } x = 1, \end{cases}
> $$
> discontinuous at $1$ even though every $f_n$ is a polynomial: the interior
> powers fall to $0$ while the value at $1$ stays fixed.

$$
% caption: The powers $x^{2n}$ on $[0,1]$ flatten toward $0$ on the interior but
% stay pinned at $1$ when $x=1$; the pointwise limit is discontinuous there.
\begin{tikzpicture}[scale=1.0, font=\footnotesize]
\definecolor{acc}{HTML}{4A6FA5}
\draw[black, ->] (-0.15,0) -- (3.4,0) node[anchor=north east] {$x$};
\draw[black, ->] (0,-0.15) -- (0,3.1) node[anchor=north east] {$y$};
\draw[black, dashed] (3,0) -- (3,3);
\node[black, anchor=north, font=\scriptsize] at (3,-0.05) {$1$};
\node[black, anchor=east, font=\scriptsize] at (0,3) {$1$};
\draw[black, thick] plot[domain=0:2.995, samples=90] (\x, {3*pow(\x/3,2)});
\node[black, anchor=east, font=\scriptsize] at (2.25,2.0) {$x^2$};
\draw[black, thick] plot[domain=0:2.999, samples=120] (\x, {3*pow(\x/3,8)});
\node[black, anchor=west, font=\scriptsize] at (2.5,0.75) {$x^8$};
\draw[black, thick] plot[domain=0:3, samples=160] (\x, {3*pow(\x/3,32)});
\node[black, anchor=west, font=\scriptsize] at (2.95,0.5) {$x^{32}$};
\fill[acc] (3,3) circle (1.8pt);
\draw[acc, thick] (0,0) -- (2.97,0);
\draw[acc] (3,0) circle (1.8pt);
\node[acc, anchor=south, font=\scriptsize] at (1.9,0.08) {limit};
\end{tikzpicture}
$$

A function given by a series is a
pointwise limit of its partial sums. Writing

$$
\sum_{k=0}^{\infty} x^k \quad\text{means}\quad
f(x) = \lim_{n \to \infty} \sum_{k=0}^{n} x^k = \frac{1}{1-x},
$$

and the convergence holds only on $(-1, 1)$, even though $\tfrac{1}{1-x}$ is
defined for every $x \neq 1$. The partial sums are defined everywhere, but they
converge only inside the unit interval.

For $f_n(x) = \sin(nx)$ there is no pointwise
limit on any interval. The values converge at isolated points such as $x = 0$,
but on every interval $[a, b]$ some $x$ makes $\sin(nx)$ oscillate without
settling.[^lebl-osc]

## Uniform convergence

The second notion removes the dependence of $N$ on $x$. One threshold must work
across the entire domain.

> **Definition (Uniform convergence).** Let $f_n : S \to \mathbb{R}$ and
> $f : S \to \mathbb{R}$. The sequence $\{f_n\}$ **converges uniformly** to $f$
> if for every $\epsilon > 0$ there exists $N \in \mathbb{N}$ such that for all
> $n \geq N$,
> $$
> |f_n(x) - f(x)| < \epsilon \qquad \text{for all } x \in S.
> $$

The quantifier order is the whole difference. In pointwise convergence the
phrase reads "for each $x$, there is an $N$"; in uniform convergence it reads
"there is an $N$, good for every $x$." Uniform convergence gives a band of
half-width $\epsilon$ around the graph of $f$, and past the index $N$ every graph
$f_n$ lies inside that band.

$$
% caption: Uniform convergence: past some index every $f_n$ lies inside a band of
% fixed half-width around $f$; the band width does not shrink or grow with $x$.
\begin{tikzpicture}[scale=1.0, font=\footnotesize]
\definecolor{acc}{HTML}{4A6FA5}
\draw[black, ->] (-0.15,0) -- (6,0) node[anchor=north east] {$x$};
\draw[black, ->] (0,-0.4) -- (0,3) node[anchor=north east] {$y$};
% f
\draw[black!75, very thick] plot[domain=0.2:5.6, samples=80] (\x, {1.4 + 0.6*sin(deg(\x))});
\node[black!75, anchor=west] at (5.05,1.05) {$f$};
% band
\draw[acc!70, thick, dashed] plot[domain=0.2:5.6, samples=80] (\x, {1.85 + 0.6*sin(deg(\x))});
\draw[acc!70, thick, dashed] plot[domain=0.2:5.6, samples=80] (\x, {0.95 + 0.6*sin(deg(\x))});
% f_n inside
\draw[black, thick] plot[domain=0.2:5.6, samples=140] (\x, {1.4 + 0.6*sin(deg(\x)) + 0.22*sin(deg(6*\x))});
\node[black, anchor=west, font=\scriptsize] at (5.05,2.35) {$f_n$};
\draw[black, <->] (1.55,0.99) -- (1.55,1.83);
\node[black, anchor=west, font=\scriptsize] at (1.62,1.42) {band};
\end{tikzpicture}
$$

Uniform convergence is the stronger condition. Choosing the single $N$ certainly
supplies a working $N$ at each individual $x$, so the implication is immediate.

> **Proposition.** If $\{f_n\}$ converges uniformly to $f$ on $S$, then $\{f_n\}$
> converges pointwise to $f$. The converse is false.

The powers $f_n(x) = x^{2n}$ are the standard witness that the converse fails.

> **Worked example (Pointwise but not uniform).** On $[0, 1]$ the powers
> $x^{2n}$ converge pointwise but not uniformly. Suppose the convergence were
> uniform. Take $\epsilon = \tfrac{1}{2}$; there would be an $N$ with
> $x^{2N} < \tfrac{1}{2}$ for every $x \in (0, 1)$. But $x^{2N}$ is continuous in
> $x$, and letting $x \to 1^-$ forces $x^{2N} \to 1$, contradicting
> $x^{2N} < \tfrac{1}{2}$. No single $N$ works on the whole interval, because
> points near $1$ need ever larger indices before $x^{2n}$ drops below
> $\tfrac{1}{2}$.
>
> Restricting the domain restores uniformity. On $[-a, a]$ with $0 < a < 1$,
> given $\epsilon > 0$ pick $N$ with $a^{2n} < \epsilon$ for $n \ge N$. Then for
> every $x \in [-a, a]$ and $n \ge N$,
> $$
> |x^{2n}| = |x|^{2n} \le a^{2n} < \epsilon.
> $$
> The worst point is now $x = \pm a$, which stays away from $1$, and controlling
> it controls the rest: uniformity is a statement about the supremum of the
> error, attained here at the edge.

Whether uniformity survives can depend on the domain even for a sequence that
converges to $0$ at every point.

> **Worked example (Uniform on bounded sets, not on the line).** For
> $f_n(x) = \dfrac{x}{n}$ the pointwise limit is $0$ at every $x$. On a bounded
> set $[-a, a]$,
> $$
> \|f_n\|_{[-a,a]} = \sup_{|x| \le a} \frac{|x|}{n} = \frac{a}{n} \to 0,
> $$
> so the convergence is uniform there. On all of $\mathbb{R}$ it is not: for
> every $n$, $\sup_{x \in \mathbb{R}} \tfrac{|x|}{n} = \infty$, so no index forces
> the error below $\tfrac12$. Uniformity holds exactly on the sets where the
> slope $\tfrac1n$ cannot accumulate unbounded height.

$$
% caption: On a bounded interval the lines $x/n$ flatten uniformly to $0$ as $n$
% grows; on the whole line each still reaches unbounded height, so uniformity
% holds only after the domain is bounded.
\begin{tikzpicture}[scale=1.0, font=\footnotesize]
\definecolor{acc}{HTML}{4A6FA5}
\draw[black, ->] (-0.15,0) -- (4.2,0) node[anchor=north east] {$x$};
\draw[black, ->] (0,-0.15) -- (0,3.5) node[anchor=north east] {$y$};
\draw[black, dashed] (3.6,0) -- (3.6,3.3);
\node[black, anchor=north, font=\scriptsize] at (3.6,-0.05) {$a$};
\draw[black!55, thick] (0,0) -- (3.6,3.2);
\node[black!70, anchor=south east, font=\scriptsize] at (3.5,3.05) {$f_1$};
\draw[black, thick] (0,0) -- (3.6,1.6);
\node[black, anchor=south east, font=\scriptsize] at (3.5,1.45) {$f_2$};
\draw[acc, very thick] (0,0) -- (3.6,0.8);
\node[acc, anchor=north east, font=\scriptsize] at (3.5,0.68) {$f_4$};
\end{tikzpicture}
$$

## The uniform norm

Uniform convergence becomes a statement about a single sequence of numbers once
we measure the size of a function by its largest value.

> **Definition (Uniform norm).** For a bounded function $f : S \to \mathbb{R}$,
> $$
> \|f\|_S = \sup\{\, |f(x)| : x \in S \,\}.
> $$
> It is also called the **sup norm** or **infinity norm**, written
> $\|f\|_u$ or $\|f\|_\infty$.

The subscript names the set over which the supremum runs, so $\|f\|_K$ for
$K \subset S$ uses only the points of $K$. The quantity $\|f_n - f\|_S$ is the
largest vertical gap between the two graphs, and uniform convergence says that
gap collapses to $0$.

> **Proposition (Uniform norm criterion).** A sequence of bounded functions
> $f_n : S \to \mathbb{R}$ converges uniformly to $f : S \to \mathbb{R}$ if and
> only if
> $$
> \lim_{n \to \infty} \|f_n - f\|_S = 0.
> $$

> **Proof.** If $\|f_n - f\|_S \to 0$, then given $\epsilon > 0$ there is $N$ with
> $\|f_n - f\|_S < \epsilon$ for $n \ge N$; since $|f_n(x) - f(x)| \le \|f_n - f\|_S$
> for every $x$, uniform convergence follows. Conversely, if the convergence is
> uniform, fix $\epsilon > 0$ and $N$ with $|f_n(x) - f(x)| < \epsilon$ for all $x$
> and all $n \ge N$; taking the supremum over $x$ gives
> $\|f_n - f\|_S \le \epsilon$. $\;\square$

The picture is a single measured segment: the tallest gap between $f_n$ and $f$.
Uniform convergence drives that one number to zero.

$$
% caption: The uniform norm $\|f_n-f\|_S$ is the height of the tallest vertical
% gap between the graphs; uniform convergence means this height goes to $0$.
\begin{tikzpicture}[scale=1.0, font=\footnotesize]
\definecolor{acc}{HTML}{4A6FA5}
\draw[black, ->] (-0.15,0) -- (6,0) node[anchor=north east] {$x$};
\draw[black, ->] (0,-0.15) -- (0,3) node[anchor=north east] {$y$};
\draw[black!75, very thick] plot[domain=0.2:5.6, samples=80] (\x, {1.2 + 0.5*sin(deg(\x))});
\node[black!75, anchor=west] at (5.05,0.75) {$f$};
\draw[black, very thick] plot[domain=0.2:5.6, samples=90] (\x, {1.2 + 0.5*sin(deg(\x)) + 0.55*cos(deg(0.55*\x))});
\node[black, anchor=west] at (5.05,2.35) {$f_n$};
\draw[acc, <->, thick] (2.6,1.68) -- (2.6,2.62);
\node[acc, anchor=west, font=\scriptsize] at (2.7,2.15) {sup gap};
\end{tikzpicture}
$$

> **Worked example (Sup norm of the powers).** For $f_n(x) = x^{2n}$ on $[0,1]$
> with the pointwise limit $f$ above, the error at each fixed $x < 1$ tends to
> $0$, yet
> $$
> \|f_n - f\|_{[0,1]} = \sup_{x \in [0,1]} |x^{2n} - f(x)| = \sup_{0 \le x < 1} x^{2n} = 1,
> $$
> since $x^{2n} \to 1$ as $x \to 1^-$ while $f = 0$ there. The sup norm never
> leaves $1$, so the criterion reports non-uniform convergence — the same verdict
> as the $\epsilon$-argument, now read off a single number.

> **Worked example (A uniform limit via the sup norm).** Let
> $f_n : [0, 1] \to \mathbb{R}$ be $f_n(x) = \dfrac{nx + \sin(nx^2)}{n}$. Then
> $f_n(x) - x = \dfrac{\sin(nx^2)}{n}$, so
> $$
> \|f_n - f\|_{[0,1]} = \sup\left\{ \left| \frac{\sin(nx^2)}{n} \right| : x \in [0,1] \right\} \le \frac{1}{n} \to 0,
> $$
> and $f_n \to f(x) = x$ uniformly. The bound is crude, ignoring the exact
> supremum of $|\sin(nx^2)|$, but $\tfrac{1}{n} \to 0$ suffices for uniformity.[^lebl-normex]

## The uniform Cauchy criterion

For numerical sequences, [Cauchy sequences and convergent sequences
coincide](/real-analysis/sequences-series/cauchy-completeness) because
$\mathbb{R}$ is complete. The uniform norm gives functions the same internal
test: a sequence can be certified without naming its limit.

> **Definition (Uniformly Cauchy).** A sequence of bounded functions
> $f_n : S \to \mathbb{R}$ is **Cauchy in the uniform norm** if for every
> $\epsilon > 0$ there exists $N \in \mathbb{N}$ such that
> $$
> \|f_m - f_k\|_S < \epsilon \qquad \text{for all } m, k \geq N.
> $$

> **Theorem (Completeness in the uniform norm).** A sequence of bounded
> functions $f_n : S \to \mathbb{R}$ is uniformly Cauchy if and only if there
> exists $f : S \to \mathbb{R}$ to which $\{f_n\}$ converges uniformly.

> **Proof.** Suppose $\{f_n\}$ is uniformly Cauchy. Fix $x \in S$. Then
> $|f_m(x) - f_k(x)| \le \|f_m - f_k\|_S$, so $\{f_n(x)\}$ is a Cauchy sequence of
> real numbers and converges; define $f(x) = \lim_n f_n(x)$. This gives pointwise
> convergence. To upgrade it, fix $\epsilon > 0$ and $N$ with
> $\|f_m - f_k\|_S < \epsilon/2$ for $m, k \ge N$, so
> $|f_m(x) - f_k(x)| < \epsilon/2$ for every $x$. Holding $m$ fixed and letting
> $k \to \infty$ sends $|f_m(x) - f_k(x)|$ to $|f_m(x) - f(x)|$, giving
> $|f_m(x) - f(x)| \le \epsilon/2 < \epsilon$ for all $x$ and all $m \ge N$. Hence
> $\{f_n\}$ converges uniformly to $f$. The converse follows from the triangle
> inequality: if $f_n \to f$ uniformly, choose $N$ with
> $|f_n(x) - f(x)| < \epsilon/4$ for $n \ge N$, and then
> $|f_m(x) - f_k(x)| \le |f_m(x) - f(x)| + |f(x) - f_k(x)| < \epsilon/2$ for all $x$
> and all $m, k \ge N$; take the supremum. $\;\square$

The value of the criterion is that it tests the sequence against itself. The
[Picard iteration](/real-analysis/function-sequences/picard-ode) produces
functions with no closed form, and the uniform Cauchy criterion certifies that
their limit exists.

## Series of functions and the M-test

A series $\sum_{k=1}^{\infty} g_k$ of functions converges uniformly if its
partial sums $s_n = \sum_{k=1}^{n} g_k$ do. The uniform Cauchy criterion supplies
a test that never mentions the limit and reduces everything to one numerical
series.

> **Theorem (Weierstrass M-test).** Let $g_k : S \to \mathbb{R}$ and suppose
> there are constants $M_k \ge 0$ with
> $$
> |g_k(x)| \le M_k \quad \text{for all } x \in S, \qquad \sum_{k=1}^{\infty} M_k < \infty.
> $$
> Then $\sum_{k=1}^{\infty} g_k$ converges uniformly on $S$.

> **Proof.** Let $s_n = \sum_{k=1}^{n} g_k$. For $m > k$ and any $x \in S$,
> $$
> |s_m(x) - s_k(x)| = \left| \sum_{j=k+1}^{m} g_j(x) \right| \le \sum_{j=k+1}^{m} |g_j(x)| \le \sum_{j=k+1}^{m} M_j \le \sum_{j=k+1}^{\infty} M_j.
> $$
> Since $\sum M_k$ converges, its tails go to zero, so given $\epsilon > 0$ there
> is $N$ with $\sum_{j > k} M_j < \epsilon$ for $k \ge N$. The bound is uniform in
> $x$, so $\|s_m - s_k\|_S \le \epsilon$ for $m > k \ge N$: the partial sums are
> uniformly Cauchy and the series converges uniformly. $\;\square$

Each term is dominated by a numerical bound $M_k$, and the convergence of the
number series $\sum M_k$ is transferred to uniform convergence of the function
series.

$$
% caption: The M-test caps each term's height by a number $M_k$; if the numeric
% series of caps converges, the function series converges uniformly.
\begin{tikzpicture}[scale=1.0, font=\footnotesize]
\definecolor{acc}{HTML}{4A6FA5}
\draw[black, ->] (-0.15,0) -- (6.1,0) node[anchor=north east] {$k$};
\draw[black, ->] (0,-0.15) -- (0,2.7) node[anchor=north east] {height};
\foreach \k/\h in {1/2.2, 2/1.5, 3/1.05, 4/0.72, 5/0.5, 6/0.35, 7/0.24} {
  \fill[acc!14] (\k*0.72-0.22,0) rectangle (\k*0.72+0.22, \h);
  \draw[acc, thick] (\k*0.72-0.22,0) rectangle (\k*0.72+0.22, \h);
}
\node[acc, anchor=south, font=\scriptsize] at (0.72,2.2) {$M_1$};
\node[acc, anchor=south, font=\scriptsize] at (1.44,1.5) {$M_2$};
\node[acc, anchor=south, font=\scriptsize] at (2.16,1.05) {$M_3$};
\node[black, anchor=west, font=\scriptsize] at (3.6,1.55) {caps sum to};
\node[black, anchor=west, font=\scriptsize] at (3.6,1.15) {a finite total};
\end{tikzpicture}
$$

> **Worked example (M-test on a Fourier-type series).** The series
> $\sum_{k=1}^{\infty} \dfrac{\sin(kx)}{k^2}$ converges uniformly on $\mathbb{R}$.
> Each term satisfies $\left| \tfrac{\sin(kx)}{k^2} \right| \le \tfrac{1}{k^2}$,
> and $\sum \tfrac{1}{k^2}$ converges (a
> [$p$-series](/real-analysis/sequences-series/series-convergence) with $p = 2$).
> The M-test applies with $M_k = 1/k^2$, so the sum is a continuous function of
> $x$ by the [uniform limit of continuous
> functions](/real-analysis/function-sequences/interchange-of-limits).

## The two convergences at a glance

| | Pointwise | Uniform |
| --- | --- | --- |
| Quantifier order | for each $x$, exists $N(\epsilon, x)$ | exists $N(\epsilon)$, for all $x$ |
| $N$ depends on | $\epsilon$ and $x$ | $\epsilon$ only |
| Norm statement | $f_n(x) \to f(x)$ each $x$ | $\|f_n - f\|_S \to 0$ |
| Continuity of limit | can fail | preserved |
| Cauchy test | not self-contained | uniformly Cauchy $\Leftrightarrow$ converges |
| Certified by | direct limit | uniform norm bound, M-test |

Pointwise convergence is the minimum a limit function must satisfy. Uniform
convergence is the hypothesis under which the operations of calculus pass to the
limit; the
[interchange theorems](/real-analysis/function-sequences/interchange-of-limits)
make this precise.

[^lebl-open]: Lebl, §6.1. A solution of a differential equation is often built as a limit of approximate solutions, so the meaning of that limit must be made precise before the operations of calculus can be applied to it.
[^lebl-osc]: Lebl, §6.1, Example 6.1.4. That $\sin(nx)$ has no limit for some $x$ in every interval is left as an exercise there; the values are equidistributed enough to keep oscillating.
[^lebl-normex]: Lebl, §6.1, Example 6.1.11.
