Solving equations whose unknowns are functions
Around 1900 Ivar Fredholm in Stockholm studied integral equations , which arise from boundary value problems and potential theory. He noticed that they behave like systems of linear equations: either the homogeneous equation has a non-zero solution, or the inhomogeneous equation has exactly one solution for every . David Hilbert and his students in Göttingen then built a theory of "infinitely many unknowns", expanding functions in orthogonal series and diagonalising symmetric kernels — the infinite-dimensional version of diagonalising a symmetric matrix. Stefan Banach and the Lwów school in the 1920s abstracted the setting into complete normed spaces.
The same structures run through modern mathematics: the state space of quantum mechanics is a Hilbert space, the natural home of a weak solution of a PDE is a Sobolev space, the space of probability densities is a Banach space, and optimisation in infinite dimensions needs duality. Functional analysis is linear algebra plus topology, and its lesson is double: much of finite-dimensional linear algebra survives, provided one insists on completeness and continuity, and some of it fails in instructive ways.
What survives and what breaks
In every linear map is continuous, all norms are equivalent, the closed unit ball is compact, and a symmetric matrix has an orthonormal basis of eigenvectors. In infinite dimensions:
- Continuity is no longer automatic. Differentiation is linear, but has sup norm while its derivative has sup norm . So we must restrict attention to bounded operators, those satisfying .
- Norms can be inequivalent. On , but ; the two norms give different notions of convergence, and only the first makes complete.
- The unit ball is not compact. In the unit vectors satisfy for , so no subsequence converges. Compactness arguments must use weaker topologies.
- Eigenvalues can vanish. The right shift on has no eigenvalues at all.
What survives is carried by completeness. Through the Baire category theorem, completeness yields three "automatic" theorems: pointwise bounded families of operators are uniformly bounded, bijective bounded operators have bounded inverses, and operators with closed graphs are bounded. Through the axiom of choice, the Hahn–Banach theorem supplies enough continuous linear functionals to separate points. In a Hilbert space, the inner product adds geometry — orthogonal projection, Pythagoras — and the Riesz representation theorem identifies the space with its dual. And for compact self-adjoint operators the finite-dimensional spectral theorem survives almost unchanged.
Banach spaces, Hilbert spaces and operators
Definition— Banach and Hilbert spaces
A normed space is a vector space over or with a norm ; it is a Banach space if it is complete for the metric . An inner product space has an inner product , linear in and conjugate-symmetric, with for ; it is a normed space with , by the Cauchy–Schwarz inequality . A complete inner product space is a Hilbert space.
Definition— bounded operator, dual space, adjoint
A linear map between normed spaces is bounded if there is a constant with for all ; the least such is the operator norm . The bounded operators form a normed space , which is a Banach space when is. The dual space consists of the bounded linear functionals. On a Hilbert space , the adjoint of is defined by , and is self-adjoint if .
Definition— compact operator
A bounded operator is compact if it maps bounded sets to sets with compact closure; equivalently (for Banach spaces), every bounded sequence has a subsequence along which converges.
Definition— orthonormal basis
An orthonormal set in a Hilbert space satisfies . It is an orthonormal basis (Hilbert basis) if its closed linear span is the whole space. This is not a basis in the algebraic sense: elements are infinite sums converging in norm.
Definition— weak and weak-* topologies
The weak topology on is the coarsest topology making every continuous: means for every . The weak-* topology on is the coarsest making every evaluation continuous.
Examples, non-examples and pathologies
Example— The basic spaces
- (), (Riesz–Fischer, from measure theory), and with the sup norm for compact are Banach spaces. and are Hilbert spaces with ; for , is not, because its norm fails the parallelogram law (try , ).
- with the norm is not complete: continuous functions rising ever more steeply from to near form a Cauchy sequence whose -limit is a step function. Its completion is . Likewise the polynomials are a dense, incomplete subspace of (Weierstrass).
- The trigonometric system , , is an orthonormal basis of ; the coefficients are, up to normalisation, the Fourier coefficients of harmonic analysis.
Example— Unbounded and discontinuous linear maps
from to , both with the sup norm, is linear and unbounded: . (With the norm on it becomes bounded: the choice of norm matters.) Worse, on every infinite-dimensional normed space there is a linear functional that is discontinuous everywhere: extend a linearly independent sequence of unit vectors to a Hamel basis (this uses the axiom of choice), set and on the remaining basis vectors.
Example— Compact and non-compact operators
- A diagonal operator on is bounded with , and compact exactly when : then is a norm limit of the finite-rank truncations, and norm limits of finite-rank operators are compact.
- An integral operator with is compact (a Hilbert–Schmidt operator), and self-adjoint when . Example: , for which solves , . Its eigenfunctions are with eigenvalues .
- The identity of an infinite-dimensional space is not compact (the unit ball is not compact), and neither is the shift : has no convergent subsequence. The left shift has every with as an eigenvalue, with eigenvector .
Hilbert spaces: projection and representation
Theorem— Proposition (bounded = continuous)
For a linear map between normed spaces, the following are equivalent: (i) is bounded; (ii) is continuous; (iii) is continuous at .
Proof
(i) ⇒ (ii): , so is Lipschitz. (ii) ⇒ (iii) is trivial. (iii) ⇒ (i): there is with whenever . For put ; then .
∎
Theorem— Projection theorem
Let be a non-empty closed convex subset of a Hilbert space and . There is a unique with . If is a closed subspace, is characterised by , and .
Proof
Let and choose with . The parallelogram law applied to and gives
since by convexity. The right side tends to , so is Cauchy; by completeness it converges to some , which lies in because is closed, and . Applying the same inequality to two minimisers shows that they coincide.
If is a subspace and , then is minimal at (also for complex multiples), forcing . Conversely, if , Pythagoras gives for , so is the minimiser. Writing gives , and .
∎
Theorem— Riesz representation theorem (Fréchet, Riesz 1907)
Let be a Hilbert space. For every there is a unique with for all , and . The map is a conjugate-linear isometric bijection .
Proof
Uniqueness: if for all , take to get .
Existence: if take . Otherwise is a closed subspace (as is continuous) and , so by the projection theorem there is a unit vector . For any , the vector lies in , hence is orthogonal to :
so and works. Finally Cauchy–Schwarz gives , with equality at , so .
∎
Theorem— Theorem (orthonormal bases)
Let be an orthonormal sequence in a Hilbert space . Then Bessel's inequality holds, the series converges for every , and the following are equivalent: (a) is an orthonormal basis; (b) for all implies ; (c) for all ; (d) Parseval: for all .
Proof
With , the vector is orthogonal to , so Pythagoras gives , which is Bessel's inequality. Hence , and by completeness for some , with for all . (a) ⇒ (b): if for all , then is orthogonal to their closed span , so . (b) ⇒ (c): apply (b) to . (c) ⇒ (d): let in the Pythagoras identity. (d) ⇒ (a): (d) says , so lies in the closed span.
∎
Every separable Hilbert space has a countable orthonormal basis (Gram–Schmidt applied to a dense sequence), so every infinite-dimensional separable Hilbert space is isometrically isomorphic to by . In particular by Fourier coefficients: Parseval's identity for Fourier series is (d).
Banach spaces: Baire, uniform boundedness, open mapping, Hahn–Banach
The engine of the next three theorems is the Baire category theorem: in a complete metric space, a countable intersection of dense open sets is dense; equivalently, a complete metric space is not a countable union of nowhere dense closed sets. (Proof: given a ball and dense open , choose closed balls with radii ; their centres form a Cauchy sequence whose limit lies in . See point-set topology.)
Theorem— Uniform boundedness principle (Banach–Steinhaus 1927)
Let be a Banach space, a normed space, and a family with for every . Then .
Proof
The sets are closed (intersections of closed sets, by continuity of each ), and by hypothesis . By the Baire category theorem some contains a closed ball with . For , both and lie in , so for every . Scaling, for all .
∎
Completeness is essential. On the space of finitely supported sequences with the sup norm, satisfies for each (only finitely many ), but . A famous application: there is a continuous -periodic function whose Fourier series diverges at , because the partial-sum functionals on have norms equal to the Lebesgue constants .
Theorem— Open mapping and closed graph theorems (Banach 1929–1932, Schauder 1930)
Let be Banach spaces and .
- (Open mapping) If is surjective, then maps open sets to open sets. In particular a bijective bounded operator has a bounded inverse.
- (Closed graph) A linear map whose graph is closed in is bounded.
About the proof. For (1), , so by Baire some has interior, and by linearity for some . A successive approximation argument, summing a series that converges by completeness of , removes the closure: . See Brezis, Theorem 2.6. (2) follows from (1): the graph is a closed subspace of , hence Banach, and the projection , , is a bounded bijection; its inverse is therefore bounded, and so is .
In practice the closed graph theorem says: to prove that is bounded, it suffices to show that and imply . For example, a symmetric operator defined on all of a Hilbert space () is automatically bounded (Hellinger–Toeplitz). This is why the unbounded operators of quantum mechanics, such as momentum , are only defined on dense subspaces.
Theorem— Hahn–Banach theorem (Hahn 1927, Banach 1929)
Let be a real vector space, sublinear ( and for ), a subspace and linear with on . Then extends to a linear with on . In particular, every bounded linear functional on a subspace of a normed space (real or complex) extends to the whole space with the same norm.
About the proof. One extends by one dimension at a time — the inequality leaves an interval of admissible values for — and Zorn's lemma, applied to the partially ordered set of dominated extensions, produces a maximal one, which must be defined everywhere. The complex case follows by applying the real case to . Consequences: separates points; , so embeds isometrically in its bidual ; and (in its geometric form) disjoint convex sets, one open, can be separated by a closed hyperplane — the foundation of convex optimisation and duality.
Compactness lost and regained
Theorem— Theorem (the unit ball is not compact)
The closed unit ball of an infinite-dimensional Hilbert space is not compact in the norm topology. More generally (F. Riesz, 1918), a normed space has a compact closed unit ball if and only if it is finite-dimensional.
Proof
An infinite-dimensional Hilbert space contains an orthonormal sequence : apply Gram–Schmidt to any linearly independent sequence. For , . So no subsequence of is Cauchy, let alone convergent, although every lies in the closed unit ball. In a compact metric space every sequence has a convergent subsequence; hence the ball is not compact. For a general normed space, Riesz's lemma replaces orthonormality: if is a closed subspace, there are unit vectors with , which yields a sequence of unit vectors at mutual distance .
∎
Compactness returns in a weaker topology. Banach–Alaoglu: the closed unit ball of is weak-* compact. In a Hilbert space (indeed in any reflexive space) every bounded sequence has a weakly convergent subsequence. The orthonormal sequence above converges weakly to : for every , by Bessel's inequality. Weak compactness is the standard tool for producing solutions of variational problems and PDEs: minimise, extract a weakly convergent minimising sequence, and use lower semicontinuity of the norm, when .
The spectral theorem for compact self-adjoint operators
Let be a Hilbert space and self-adjoint. Then is real, eigenvalues are real, and eigenvectors for different eigenvalues are orthogonal: . If leaves a subspace invariant, it also leaves invariant: for and , .
Theorem— Lemma (norm of a self-adjoint operator)
If is self-adjoint, then .
Proof
Let be the supremum; Cauchy–Schwarz gives . For unit vectors , expanding and using self-adjointness,
by the parallelogram law. If , take to get .
∎
Theorem— Lemma (an extremal eigenvalue)
If is compact and self-adjoint, then or is an eigenvalue of .
Proof
By the previous lemma there are unit vectors with , where . Then
By compactness, a subsequence satisfies . Then , so , a unit vector, and by continuity .
∎
Theorem— Spectral theorem for compact self-adjoint operators (Hilbert, Schmidt)
Let be a compact self-adjoint operator on a Hilbert space . There is a finite or countably infinite orthonormal sequence of eigenvectors, , with real , and if the sequence is infinite, such that
The form an orthonormal basis of , and . Each non-zero eigenvalue has finite multiplicity, and the non-zero eigenvalues can accumulate only at .
Proof
Put . If , the lemma gives a unit eigenvector with . Let ; it is invariant under , and is compact and self-adjoint. If we find with , and so on, with . Either for some , or we obtain an infinite orthonormal sequence.
In the infinite case : otherwise for all , and for , so the bounded sequence has no subsequence along which converges, contradicting compactness.
For , the vector lies in and (Bessel), so
(or in the finite case once ). This proves the expansion. It shows , while ; so is an orthonormal basis of . By the expansion, iff for all , so . If is an eigenvalue with eigenvector , then forces into the closed span of the with ; as there are finitely many such , so the eigenspace is finite-dimensional, and every non-zero eigenvalue is some .
∎
Applied to the Green's operator of on , the theorem produces the sine basis of — Fourier series as a spectral theorem. Applied to with compact and self-adjoint, it gives the Fredholm alternative: for , either is an eigenvalue of or is invertible (the Riesz–Schauder theory extends this to every compact ). For bounded self-adjoint operators that are not compact (multiplication by on , which has no eigenvalues at all), the spectral theorem needs projection-valued measures: von Neumann (1929) and Stone (1932), extending it to unbounded operators for quantum mechanics.
Functional analysis in Lean and Mathlib
Mathlib distinguishes E →ₗ[ℝ] F (linear maps) from E →L[ℝ] F (continuous linear maps) — a type-level reminder that continuity is extra structure in infinite dimensions. The first half of "bounded ⇔ continuous", proved directly:
/-- **Bounded linear maps are continuous.** If `‖T x‖ ≤ C ‖x‖` for all `x`, then
`‖T y − T x‖ = ‖T (y − x)‖ ≤ C ‖y − x‖`, so `T` is (Lipschitz) continuous: given `ε > 0`,
take `δ = ε / (|C| + 1)`. (Mathlib: `LinearMap.continuous_of_bound`; the converse, that a
continuous linear map is bounded, is `ContinuousLinearMap.le_opNorm`.) -/
theorem continuous_of_bound {E F : Type*} [NormedAddCommGroup E] [NormedSpace ℝ E]
[NormedAddCommGroup F] [NormedSpace ℝ F] (T : E →ₗ[ℝ] F) (C : ℝ)
(h : ∀ x, ‖T x‖ ≤ C * ‖x‖) : Continuous T := by
rw [Metric.continuous_iff]
intro x ε hε
have hC : 0 < |C| + 1 := by positivity
refine ⟨ε / (|C| + 1), by positivity, fun y hy => ?_⟩
rw [dist_eq_norm] at hy ⊢
rw [← map_sub]
calc ‖T (y - x)‖ ≤ C * ‖y - x‖ := h (y - x)
_ ≤ (|C| + 1) * ‖y - x‖ := by
apply mul_le_mul_of_nonneg_right _ (norm_nonneg _)
linarith [le_abs_self C]
_ < (|C| + 1) * (ε / (|C| + 1)) := mul_lt_mul_of_pos_left hy hC
_ = ε := by field_simpThe Riesz representation theorem is Mathlib's isometric conjugate-linear equivalence InnerProductSpace.toDual : E ≃ₗᵢ⋆[𝕜] StrongDual 𝕜 E. Note that Mathlib's inner product is conjugate-linear in the first argument (the physicists' convention), so the representing vector goes on the left. Uniqueness, proved as in the lesson:
/-- **Riesz representation theorem** (Fréchet–Riesz). On a Hilbert space `E` over `𝕜 = ℝ` or `ℂ`,
every bounded linear functional `ℓ` is an inner product with a fixed vector:
`ℓ x = ⟪y, x⟫` for some `y`. (Mathlib's inner product is conjugate-linear in the *first*
slot.) This applies Mathlib's isometric equivalence `InnerProductSpace.toDual`. -/
theorem riesz_representation {𝕜 E : Type*} [RCLike 𝕜] [NormedAddCommGroup E]
[InnerProductSpace 𝕜 E] [CompleteSpace E] (ℓ : StrongDual 𝕜 E) :
∃ y : E, ∀ x, ℓ x = ⟪y, x⟫_𝕜 :=
⟨(InnerProductSpace.toDual 𝕜 E).symm ℓ, fun _ => InnerProductSpace.toDual_symm_apply.symm⟩/-- **Uniqueness of the representing vector.** If `⟪y₁, x⟫ = ⟪y₂, x⟫` for every `x`, then
`y₁ = y₂`: take `x = y₁ − y₂` to get `⟪y₁ − y₂, y₁ − y₂⟫ = 0`, and an inner product is
definite. (This does not need completeness; existence does.) -/
theorem riesz_unique {𝕜 E : Type*} [RCLike 𝕜] [NormedAddCommGroup E] [InnerProductSpace 𝕜 E]
{y₁ y₂ : E} (h : ∀ x, ⟪y₁, x⟫_𝕜 = ⟪y₂, x⟫_𝕜) : y₁ = y₂ := by
have h0 : ⟪y₁ - y₂, y₁ - y₂⟫_𝕜 = 0 := by
rw [inner_sub_left, h (y₁ - y₂), sub_self]
exact sub_eq_zero.mp (inner_self_eq_zero.mp h0)The three Baire-category theorems and Hahn–Banach, all library theorems:
/-- **Uniform boundedness principle** (Banach–Steinhaus). A family of bounded operators on a
Banach space that is bounded at each point is bounded in operator norm. Proved in Mathlib
(`banach_steinhaus`) from the Baire category theorem, as in the lesson. -/
theorem uniform_boundedness {ι E F : Type*} [NormedAddCommGroup E] [NormedSpace ℝ E]
[CompleteSpace E] [NormedAddCommGroup F] [NormedSpace ℝ F] {T : ι → E →L[ℝ] F}
(h : ∀ x, ∃ C, ∀ i, ‖T i x‖ ≤ C) : ∃ C', ∀ i, ‖T i‖ ≤ C' :=
banach_steinhaus h/-- **Open mapping theorem** (Banach–Schauder). A surjective bounded operator between Banach
spaces maps open sets to open sets. This is Mathlib's `ContinuousLinearMap.isOpenMap`. -/
theorem open_mapping {E F : Type*} [NormedAddCommGroup E] [NormedSpace ℝ E] [CompleteSpace E]
[NormedAddCommGroup F] [NormedSpace ℝ F] [CompleteSpace F] (T : E →L[ℝ] F)
(hT : Function.Surjective T) : IsOpenMap T :=
T.isOpenMap hT/-- **Closed graph theorem.** A linear map between Banach spaces whose graph is closed in
`E × F` is continuous. This is Mathlib's `LinearMap.continuous_of_isClosed_graph`. -/
theorem closed_graph {E F : Type*} [NormedAddCommGroup E] [NormedSpace ℝ E] [CompleteSpace E]
[NormedAddCommGroup F] [NormedSpace ℝ F] [CompleteSpace F] (T : E →ₗ[ℝ] F)
(hT : IsClosed (T.graph : Set (E × F))) : Continuous T :=
T.continuous_of_isClosed_graph hT/-- **Hahn–Banach theorem** (normed version). A bounded linear functional on a subspace extends
to the whole space *with the same norm*. Mathlib proves it (`exists_extension_norm_eq`) from
the sublinear-functional version, which uses Zorn's lemma. -/
theorem hahn_banach {E : Type*} [NormedAddCommGroup E] [NormedSpace ℝ E] (p : Subspace ℝ E)
(f : StrongDual ℝ p) : ∃ g : StrongDual ℝ E, (∀ x : p, g x = f x) ∧ ‖g‖ = ‖f‖ :=
exists_extension_norm_eq p fThe non-compactness of the unit ball, proved from scratch from an orthonormal sequence (the lesson's proof), next to Mathlib's converse in arbitrary normed spaces:
/-- Distinct members of an orthonormal family are at distance `√2`:
`‖eᵢ − eⱼ‖² = ‖eᵢ‖² − 2⟪eᵢ, eⱼ⟫ + ‖eⱼ‖² = 1 − 0 + 1 = 2` (Pythagoras). -/
theorem orthonormal_dist_sq {E ι : Type*} [NormedAddCommGroup E] [InnerProductSpace ℝ E]
{e : ι → E} (he : Orthonormal ℝ e) {i j : ι} (hij : i ≠ j) : ‖e i - e j‖ ^ 2 = 2 := by
rw [norm_sub_sq_real, he.1 i, he.1 j, he.2 hij]
norm_num/-- **The closed unit ball of an infinite-dimensional Hilbert space is not compact.** If `E` has
an orthonormal sequence `e₀, e₁, …` (every infinite-dimensional Hilbert space does, by
Gram–Schmidt), the `eₙ` lie in the closed unit ball but no subsequence is Cauchy, because
distinct terms are `√2 > 1` apart. A compact metric space would contain a convergent, hence
Cauchy, subsequence. -/
theorem closedBall_not_compact {E : Type*} [NormedAddCommGroup E] [InnerProductSpace ℝ E]
{e : ℕ → E} (he : Orthonormal ℝ e) : ¬ IsCompact (closedBall (0 : E) 1) := by
intro hK
have hmem : ∀ n, e n ∈ closedBall (0 : E) 1 := fun n => by
rw [mem_closedBall, dist_zero_right, he.1 n]
obtain ⟨a, -, φ, hφ, hlim⟩ := hK.tendsto_subseq hmem
-- A convergent sequence is Cauchy: eventually all terms are within `1` of each other.
obtain ⟨N, hN⟩ := Metric.cauchySeq_iff'.1 hlim.cauchySeq 1 one_pos
have hlt : dist (e (φ (N + 1))) (e (φ N)) < 1 := hN (N + 1) (Nat.le_succ N)
have hne : φ (N + 1) ≠ φ N := (hφ (Nat.lt_succ_self N)).ne'
have h2 := orthonormal_dist_sq he hne
rw [dist_eq_norm] at hlt
nlinarith [norm_nonneg (e (φ (N + 1)) - e (φ N))]/-- **F. Riesz's theorem.** Conversely, in any normed space, a compact closed ball of positive
radius forces finite dimension. This is Mathlib's `FiniteDimensional.of_isCompact_closedBall`,
proved from Riesz's lemma. -/
theorem riesz_compact_ball {E : Type*} [NormedAddCommGroup E] [NormedSpace ℝ E] {r : ℝ}
(hr : 0 < r) (h : IsCompact (closedBall (0 : E) r)) : FiniteDimensional ℝ E :=
FiniteDimensional.of_isCompact_closedBall ℝ hr hMathlib's spectral theorem for compact self-adjoint operators is stated as: the orthogonal complement of the span of all eigenspaces is zero, and eigenspaces for non-zero eigenvalues are finite-dimensional. Together with the orthogonality of eigenspaces this is the theorem proved above.
/-- **Spectral theorem for compact self-adjoint operators**, completeness part. For a compact
symmetric operator `T` on a Hilbert space, the eigenspaces span a dense subspace: the orthogonal
complement of their span is `0`. Choosing an orthonormal basis of each (finite-dimensional, for
non-zero eigenvalues) eigenspace gives an orthonormal basis of eigenvectors. This is Mathlib's
`ContinuousLinearMap.orthogonalComplement_iSup_eigenspaces_eq_bot`. -/
theorem spectral_compact_symmetric {𝕜 E : Type*} [RCLike 𝕜] [NormedAddCommGroup E]
[InnerProductSpace 𝕜 E] [CompleteSpace E] {T : E →L[𝕜] E} (hT : IsCompactOperator T)
(hT' : (T : E →ₗ[𝕜] E).IsSymmetric) :
(⨆ μ, Module.End.eigenspace (T : Module.End 𝕜 E) μ)ᗮ = ⊥ :=
T.orthogonalComplement_iSup_eigenspaces_eq_bot hT hT'/-- The eigenspace of a compact operator for a non-zero eigenvalue is finite-dimensional
(its unit ball is the image of a bounded set under `μ⁻¹ T`, hence compact). This is Mathlib's
`ContinuousLinearMap.finite_dimensional_eigenspace`. -/
theorem eigenspace_finite_dimensional {𝕜 E : Type*} [RCLike 𝕜] [NormedAddCommGroup E]
[InnerProductSpace 𝕜 E] [CompleteSpace E] {T : E →L[𝕜] E} (hT : IsCompactOperator T)
(μ : 𝕜) (hμ : μ ≠ 0) : FiniteDimensional 𝕜 (Module.End.eigenspace T.toLinearMap μ) :=
T.finite_dimensional_eigenspace hT μ hμNot formalised here: the projection theorem (Mathlib: exists_norm_eq_iInf_of_complete_convex), Bessel and Parseval (Mathlib: Orthonormal.tsum_inner_products_le and HilbertBasis), our proof of the spectral theorem (we cite Mathlib's, which goes through the spectral radius), weak topologies and Banach–Alaoglu (Mathlib: WeakDual.isCompact_polar), and the spectral theorem for non-compact operators.
Watching eigenvalues accumulate at zero
The experiment discretises the Green's operator of on by a symmetric matrix (the midpoint rule) and compares its eigenvalues with the exact values . The matrix eigenvectors are orthonormal, the first matches , and the count of eigenvalues above each threshold matches the count for the operator: they pile up only at , as the spectral theorem requires. Two exact computations then show the warnings of the intuition section: differentiation multiplies the sup norm of by , and .
"""The spectrum of a compact self-adjoint operator, seen through a matrix.
The operator (Gf)(x) = integral of G(x, y) f(y) dy on L^2(0, 1), with kernel
G(x, y) = min(x, y) (1 - max(x, y)), inverts -u'' = f, u(0) = u(1) = 0. It is
compact and self-adjoint, with eigenvalues 1/(k pi)^2 and eigenfunctions
sqrt(2) sin(k pi x). We discretise it by the midpoint rule (an N x N
symmetric matrix), compare its eigenvalues with the exact ones, and count how
they pile up at 0. Then two infinite-dimensional warnings: differentiation is
unbounded, and the sup and L^1 norms are not equivalent.
"""
import math
from fractions import Fraction
import numpy as np
def green_matrix(n):
"""Midpoint-rule matrix (1/n) G(x_i, x_j) with x_i = (i + 1/2)/n."""
if n < 1:
raise ValueError("n must be positive")
x = (np.arange(n) + 0.5) / n
big_x, big_y = np.meshgrid(x, x, indexing="ij")
kernel = np.minimum(big_x, big_y) * (1 - np.maximum(big_x, big_y))
return kernel / n
def eigen_decreasing(matrix):
"""Eigenvalues (decreasing) and orthonormal eigenvectors of a symmetric
matrix."""
values, vectors = np.linalg.eigh(matrix)
return values[::-1], vectors[:, ::-1]
def exact_eigenvalue(k):
"""The k-th eigenvalue 1/(k pi)^2 of the Green's operator."""
return 1 / (k * math.pi) ** 2
def count_above(values, threshold):
"""How many eigenvalues exceed the threshold."""
return int(np.sum(np.asarray(values) > threshold))
def exact_count_above(threshold):
"""Number of k >= 1 with 1/(k pi)^2 > threshold."""
k = 0
while exact_eigenvalue(k + 1) > threshold:
k += 1
return k
def derivative_ratio(n, samples=4000):
"""max |f'| / max |f| for f(x) = sin(n x) on [0, 2 pi], sampled."""
xs = np.linspace(0, 2 * math.pi, samples)
return float(np.max(np.abs(n * np.cos(n * xs))) /
np.max(np.abs(np.sin(n * xs))))
def power_norms(n):
"""Exact (sup norm, L^1 norm) of x^n on [0, 1]."""
return Fraction(1), Fraction(1, n + 1)
def main():
n = 200
values, vectors = eigen_decreasing(green_matrix(n))
print(f"Green's operator of -u'' on (0, 1), midpoint matrix with N = {n}")
print(f"{'k':>3} {'matrix':>12} {'exact 1/(k pi)^2':>18} {'rel. error':>11}")
for k in range(1, 7):
exact = exact_eigenvalue(k)
err = abs(values[k - 1] - exact) / exact
print(f"{k:>3} {values[k - 1]:>12.8f} {exact:>18.8f} {err:>11.1e}")
orth = np.max(np.abs(vectors.T @ vectors - np.eye(n)))
print(f"max |V^T V - I| = {orth:.1e} (orthonormal eigenvectors)")
first = vectors[:, 0] * math.sqrt(n)
sine = math.sqrt(2) * np.sin(math.pi * (np.arange(n) + 0.5) / n)
first = first if first @ sine > 0 else -first
print(f"first eigenvector vs sqrt(2) sin(pi x): max gap "
f"{np.max(np.abs(first - sine)):.1e}")
for t in [1e-1, 1e-2, 1e-3]:
print(f"eigenvalues > {t:g}: matrix {count_above(values, t)}, "
f"exact {exact_count_above(t)}")
print(f"smallest matrix eigenvalue: {values[-1]:.2e} (they pile up at 0)")
print()
print("Differentiation is unbounded: f = sin(n x), ratio max|f'| / max|f|")
print(" ", [round(derivative_ratio(m), 3) for m in [1, 10, 100]])
print("Norms are not equivalent: x^n on [0, 1], (sup norm, L^1 norm)")
print(" ", [tuple(str(v) for v in power_norms(m)) for m in [1, 10, 100]])
print()
print("Epistemic status: the eigenvalue table is a numerical approximation")
print("of one operator (midpoint rule, floating point), within about 2e-6")
print("of the exact eigenvalues; it proves nothing in general. The derivative")
print("ratios are sampled, the norms of x^n exact. That no constant bounds")
print("either ratio follows because n and n + 1 are unbounded.")
if __name__ == "__main__":
main()This is numerical evidence about one operator. Why the matrix eigenvalues approximate the operator's is itself a theorem (convergence of the Nyström method for compact operators); the spectral theorem is what guarantees there is a discrete spectrum to approximate.
Finite and infinite dimensions
In two dimensions the spectral theorem is visible: a symmetric matrix stretches the plane along two perpendicular invariant lines, its eigenvectors. Try other symmetric matrices, then a non-symmetric shear, whose single invariant line is not accompanied by a perpendicular one.
A symmetric matrix: perpendicular eigenvectors
Change the entries or pick a transformation. The columns of A are where e₁ and e₂ land; the gold square shows what happens to area.
- image of the grid
- image of the unit square
- image of the flag
- before the transformation
- invariant line
The columns of A are the images of e₁ = (1, 0) and e₂ = (0, 1): Ae₁ = (2, 1), Ae₂ = (1, 2)
det A = ad − bc = 3
The unit square (area 1) becomes a parallelogram of area |det A| = 3. Since det A > 0, orientation is preserved.
Invariant lines (real eigenvectors)
- λ₁ = 3, v₁ = (1, 1)
- λ₂ = 1, v₂ = (1, −1)
Vectors on the two dashed lines are only stretched, by the factors λ₁ = 3 and λ₂ = 1; every other direction is turned.
In infinite dimensions, boundedness can fail. Move the slider: stays between and , but its derivative grows without bound. No constant gives on all of .
Differentiation is an unbounded operator
Move the sliders and trace along the curves to read off values.
- f = sin(nx)
- f′ = n cos(nx)
- f = sin(nx): y = 0.1411
- f′ = n cos(nx): y = −2.97
Exercises
1. Functional analysis
Warm-upHumanWhich of these normed spaces are complete (Banach spaces)? Select all that apply.
2. Functional analysis
Warm-upHumanThe diagonal operator on is defined by for . Find .
3. Functional analysis
CoreHumanOn (sequences with finitely many non-zero terms) with the sup norm, let . Each has , yet . Why does this not contradict the uniform boundedness principle?
4. Functional analysis
CoreHumanOn let . By the Riesz representation theorem for a unique . What is ?
5. Functional analysis
CoreHumanWhich operator on is compact?
6. Functional analysis
StretchHumanIn the proof that a compact self-adjoint has an eigenvalue , we have unit vectors with . Where is compactness used?
7. Functional analysis
CoreFormalWhich Lean statement correctly formalises "if a real inner product space contains an orthonormal sequence, its closed unit ball is not compact"?
8. Functional analysis
StretchComputationalApply Gram–Schmidt to in , keeping the polynomials monic (leading coefficient ) instead of normalising. A polynomial is a list of Fraction coefficients, constant term first. The helper inner(p, q) computes exactly. Write monic_orthogonal(n) returning the first n monic orthogonal polynomials (the monic Legendre polynomials).
Common misconceptions
Misconception
"Every linear map between normed spaces is continuous." True in finite dimensions only. Differentiation on with the sup norm is unbounded, and with the axiom of choice every infinite-dimensional normed space carries discontinuous linear functionals. What is true: on Banach spaces, linear maps with closed graphs are continuous, and in practice (without choice) one never writes down a discontinuous linear map defined on a whole Banach space.
Misconception
"All norms on a vector space are equivalent." Only in finite dimensions, where it follows from compactness of the unit sphere. On the sup norm and the norm are inequivalent (), and only one of them is complete. In fact if two norms are both complete and one dominates the other, they are equivalent (open mapping theorem) — so this kind of example always involves an incomplete norm.
Misconception
"Closed and bounded implies compact." That is the Heine–Borel theorem of . In infinite dimensions the closed unit ball is closed and bounded but not compact; one must use weak compactness or prove compactness of specific sets (Arzelà–Ascoli, Rellich–Kondrachov).
Misconception
"Every operator has an eigenvalue." Over in finite dimensions, yes. The shift on has none, and neither does multiplication by on , although both have non-empty spectrum . Compactness is what makes the spectrum (apart from ) consist of eigenvalues.
Many ways of seeing
Geometry— The geometry of the unit ball
A Banach space is determined, up to isometry, by the shape of its unit ball, a closed convex symmetric set, and much of Banach space theory is convex geometry. Hilbert spaces are exactly the spaces whose ball is "round": by the Jordan–von Neumann theorem (1935), a norm comes from an inner product iff it satisfies the parallelogram law. Smoothness and rotundity of the ball control the existence and uniqueness of best approximations; uniformly convex spaces such as , , are reflexive (Milman–Pettis). Dvoretzky's theorem (1961) says that every infinite-dimensional Banach space contains, for each and , an -dimensional subspace whose ball is within of a Euclidean ball: roundness is unavoidable in high dimensions, the starting point of asymptotic geometric analysis.
Topology— Baire, weak topologies and contractible spheres
The three pillar theorems are theorems of topology: they use only completeness through the Baire property. The weak and weak-* topologies show that "the" topology of an infinite-dimensional space is a choice: the weak topology is never metrisable on an infinite-dimensional space, yet Banach–Alaoglu makes its balls compact, which is how one recovers fixed-point theorems (Schauder, Markov–Kakutani) and existence of minimisers. Infinite-dimensional topology also overturns finite-dimensional intuition: the unit sphere of is contractible and homeomorphic to itself, so there is no infinite-dimensional Brouwer fixed-point theorem for the closed ball (Kakutani gave a fixed-point-free continuous self-map of the ball of ), and Kuiper (1965) proved that the unitary group of an infinite-dimensional Hilbert space is contractible — a fact used in K-theory and index theory.
Algebra— Operator algebras
is an algebra with an involution satisfying , a C*-algebra. Gelfand and Naimark (1943) showed that every commutative C*-algebra with unit is isomorphic to for a compact Hausdorff space , its space of characters — a dictionary between commutative algebra and topology, and the template for "noncommutative geometry", where a noncommutative C*-algebra is treated as functions on a virtual space. The spectral theorem in this language is the continuous functional calculus: a self-adjoint generates a commutative C*-algebra isomorphic to . Von Neumann algebras (weakly closed *-algebras) classify, through Murray and von Neumann's factors, the possible "dimensions" of infinite quantum systems.
Physics— Hilbert space as the stage of quantum mechanics
In von Neumann's Mathematical Foundations of Quantum Mechanics (1932), states are unit vectors (up to phase) in a Hilbert space, observables are self-adjoint operators, and the possible measured values of an observable are the points of its spectrum. The discrete energy levels of an atom are eigenvalues; the continuous spectrum of a free particle is why the spectral theorem had to go beyond eigenvectors; and the canonical commutation relation cannot hold for bounded operators (in finite dimensions take traces; for bounded operators a norm argument of Wintner and Wielandt rules it out), which is why position and momentum are unbounded operators on dense domains. Heisenberg's matrix mechanics and Schrödinger's wave mechanics were shown to be equivalent because and are isomorphic Hilbert spaces. See quantum mechanics.
Category theory— Duality and its limits
is a contravariant functor on Banach spaces with bounded operators (), and Hahn–Banach makes the canonical map an isometric embedding, natural in — the infinite-dimensional analogue of , which now fails to be onto in general (). Spaces for which it is onto are reflexive. For Hilbert spaces, Riesz gives the stronger, but conjugate-linear, identification . A categorical subtlety: with bounded operators the category of Banach spaces has few limits; with contractions () it is complete and cocomplete, with -sums as coproducts and -sums as products.
History and context
- Vito Volterra (from 1887) treated "functions of lines" and integral equations; Ivar Fredholm (1900–1903) proved his alternative for integral equations; David Hilbert (1904–1910) developed the theory of quadratic forms in infinitely many variables and the spectral theory of symmetric kernels, with Erhard Schmidt (1907–1908) introducing the geometric language of and orthogonal projection.
- Maurice Fréchet (1906) introduced metric spaces and, with Frigyes Riesz (1907), proved the representation theorem for ; Riesz introduced spaces (1910), compact operators (1918) and the non-compactness lemma.
- Hans Hahn (1927) and Stefan Banach (1929) proved the extension theorem; Banach and Hugo Steinhaus proved uniform boundedness (1927); Juliusz Schauder and Banach proved the open mapping theorem. Banach's Théorie des opérations linéaires (1932), from the Lwów school whose problems were famously recorded in the Scottish Book, fixed the subject's shape.
- John von Neumann (1929–1932) axiomatised Hilbert space and proved the spectral theorem for unbounded self-adjoint operators, independently of Marshall Stone; Israel Gelfand (1941) created the theory of normed rings (Banach algebras), and with Mark Naimark (1943) characterised C*-algebras.
- Later landmarks include Alexander Grothendieck's work on topological tensor products (1950s) and Per Enflo's counterexample to the approximation problem (1973), which showed that compact operators on a Banach space need not be norm limits of finite-rank ones.
Further reading
- Haim Brezis, Functional Analysis, Sobolev Spaces and Partial Differential Equations (2011) — functional analysis aimed at PDE; the proofs of the big theorems in Chapters 1–6.
- Michael Reed and Barry Simon, Methods of Modern Mathematical Physics I: Functional Analysis (1972; revised 1980) — with an eye on quantum mechanics.
- Walter Rudin, Functional Analysis (2nd ed., 1991) — topological vector spaces, distributions and Banach algebras.
- John B. Conway, A Course in Functional Analysis (2nd ed., 1990) — a clear standard text with Hilbert spaces first.
- Peter D. Lax, Functional Analysis (2002) — rich in applications and history.
- Erwin Kreyszig, Introductory Functional Analysis with Applications (1978) — a gentle first course.