Bounded operators on a Hilbert space: basic spectral prerequisites #
This file collects the facts about a complex Hilbert space H and the algebra
H →L[ℂ] H of bounded operators on it that the blueprint's section on spectral
theorems (sctn:spectral-theorems) uses as prerequisites and which are not
already available in Mathlib. Prerequisites that Mathlib does supply are recorded in
the dictionary below rather than restated as local theorems.
Throughout, H is a complex Hilbert space, so that H →L[ℂ] H is the blueprint's
𝓑(H).
Main definitions #
Physicslib4.Spectral.BddMeasurable— the complex vector space of bounded measurable complex-valued functions on a measurable space. This is the single spelling of "bounded Borel function" used throughout theSpectraldirectory, in place of a repeatedMeasurable f ∧ ∃ K, ∀ x, ‖f x‖ ≤ Khypothesis pair.Physicslib4.Spectral.BoundedPointwiseLimit— "the sequencefis uniformly bounded byMand converges pointwise tog", the hypothesis package shared by every bounded-convergence and monotone-class argument in this directory.
Main statements #
Physicslib4.Spectral.mem_span_orthogonal_iff— the orthogonal complement of an arbitrary subset ofH.Physicslib4.Spectral.completeSpace_boundedOp—𝓑(H)is a Banach space.Physicslib4.Spectral.mem_resolventSet_iff_isUnit_sub_smul,Physicslib4.Spectral.spectrum_eq_compl_resolventSet,Physicslib4.Spectral.mul_resolvent_of_mem_resolventSet— the resolvent set, the spectrum, and the resolvent, in the blueprint's sign convention.Physicslib4.Spectral.riesz_representation— the Riesz representation theorem.Physicslib4.Spectral.norm_adjoint,Physicslib4.Spectral.norm_adjoint_mul_self— the C⋆-identities.Physicslib4.Spectral.adjoint_add,Physicslib4.Spectral.adjoint_smul,Physicslib4.Spectral.adjoint_mul,Physicslib4.Spectral.adjoint_pow,Physicslib4.Spectral.adjoint_one— the*-algebra identities for the adjoint.Physicslib4.Spectral.tendsto_adjoint— continuity of the adjoint.Physicslib4.Spectral.norm_apply_le_of_isStarProjection— projections are norm decreasing.Physicslib4.Spectral.opNorm_eq_sSup_inner— the operator norm as a supremum of matrix elements over pairs of unit vectors.Physicslib4.Spectral.continuous_iff_exists_bound— bounded ↔ continuous for linear maps between normed spaces.Physicslib4.Spectral.exists_simpleFunc_tendstoUniformly— a bounded measurable complex function is a uniform limit of simple functions.Physicslib4.Spectral.tendsto_iff_isBounded_of_monotone,Physicslib4.Spectral.tendsto_iff_isBounded_of_antitone— the monotone convergence theorem for real sequences.Physicslib4.Spectral.measurable_of_tendsto_pointwise,Physicslib4.Spectral.norm_le_of_tendsto— pointwise limits of uniformly bounded measurable functions.Physicslib4.Spectral.tendsto_integral_of_boundedPointwiseLimit— the bounded convergence theorem on a finite measure space.
Implementation notes #
Mathlib's ContinuousLinearMap.adjoint supplies the blueprint's A ↦ A⋆, and
IsStarProjection supplies the blueprint's bounded orthogonal projections; the
blueprint's ρ(A), σ(A) are Mathlib's resolventSet ℂ A, spectrum ℂ A, noting
that Mathlib uses λ • 1 - A where the blueprint uses A - λ • 1, which describes
the same set (mem_resolventSet_iff_isUnit_sub_smul).
The blueprint's standing convention H ≠ {0}, stated in the section preamble
alongside def:bounded-operator-notation, is localised, as the blueprint itself
prescribes: it appears as a Nontrivial H hypothesis on exactly those declarations
that use it. No declaration in this file needs it. The blueprint's other standing
convention, separability of H
(def:bounded-operator-notation), is never needed in this directory: the only
place one might expect it — the convergence of the partial sums
∑_{i<n} Pᵢψ of a family of mutually annihilating projections in
Physicslib4/Spectral/ProjectionValuedMeasure.lean — follows from
‖∑_{i<n} Pᵢψ‖² = ∑_{i<n} ‖Pᵢψ‖² ≤ ‖ψ‖² and completeness alone. Accordingly no
declaration in the Spectral directory carries a SeparableSpace H hypothesis, and
its absence is deliberate.
Blueprint conventions that are literally Mathlib declarations #
The blueprint opens with a block of notational conventions and a proposition collecting standard facts. Each is exactly a Mathlib declaration, so it is cited rather than restated here; the blueprint nodes carry those Mathlib names.
def:inner-product— Mathlib'sInnerProductSpace ℂ Hhas precisely the blueprint's axioms, and conjugates the first argument, which is the blueprint's (physics) convention:inner_conj_symm,inner_self_im,inner_self_nonneg,inner_self_eq_zero,inner_smul_left,inner_smul_right,inner_add_left,inner_add_right.def:induced-norm—norm_eq_sqrt_re_inner.def:bounded-operator-notation—ContinuousLinearMap.le_opNormandContinuousLinearMap.opNorm_le_bound(the operator norm is the least bound);𝓑(H)isH →L[ℂ] H.def:identity-operator—ContinuousLinearMap.norm_id,ContinuousLinearMap.one_defandContinuousLinearMap.id_apply.def:indicator-function—Set.indicator,Set.indicator_apply,Set.indicator_of_mem,Set.indicator_of_notMem,Set.indicator_mul,Set.indicator_union_of_disjoint.def:identity-and-indicator— carried byPhysicslib4.Spectral.one_apply_and_indicator_applybelow, which asserts both halves of the compound anchor together and also records the convention thatℕincludes0.prpstn:basic-integral-properties—MeasureTheory.integral_indicator,MeasureTheory.integral_add,MeasureTheory.integral_smul,MeasureTheory.lintegral_mono,norm_integral_le_integral_norm.prpstn:hall-a.43(Cauchy–Schwarz) —norm_inner_le_normand, in the squared form the blueprint states first,inner_mul_inner_self_le.prpstn:reverse-triangle-inequality—abs_norm_sub_norm_le.def:bounded-inverse—isUnit_iff_exists.def:adjoint-bounded—ContinuousLinearMap.eq_adjoint_iff(existence and uniqueness of the adjoint),ContinuousLinearMap.adjoint_inner_left,ContinuousLinearMap.star_eq_adjoint,ContinuousLinearMap.isSelfAdjoint_iff_isSymmetric.prpstn:hall-7.3—ContinuousLinearMap.orthogonal_range. This is an equality ofSubmodules,(T : E →ₗ F).rangeᗮ = (T⋆).ker, rather than the blueprint's equality of subsets ofH; the two are interchangeable throughSetLike.ext_iff.prpstn:continuity-of-norm-and-inner-product—Filter.Tendsto.normandFilter.Tendsto.inner.
The same holds of the analysis prerequisites the spectral section quotes from a functional-analysis course. Where the Mathlib spelling is not a literal transcription of the blueprint, the divergence is recorded.
lmm:lemma-2—norm_mul_le, applied through theNormedRing (H →L[ℂ] H)instance, in whichA * Bis composition. (ContinuousLinearMap.opNorm_comp_leis the same inequality written with∘L.)prpstn:hall-a.34—Summable.of_norm, whose ambient[CompleteSpace E]is exactly the blueprint's hypothesis thatVis Banach; the comparison-test form used in practice isSummable.of_norm_bounded. Caveat: Mathlib'sSummableis unconditional summability over the index type, which for a series indexed byℕin a Banach space is strictly stronger than convergence of the partial sums. This is harmless here, because the hypothesis∑ ‖ψᵢ‖ < ∞is absolute convergence, under which the two notions agree.lmm:nth-term-test—Summable.tendsto_atTop_zero, i.e. the blueprint's contrapositive form∑ aᵢconverges⇒ ‖aᵢ‖ → 0. Caveat: as above, the Lean hypothesis is unconditionalSummable f, not mere convergence of the partial sums∑_{i<n} aᵢ, so the Lean statement is formally weaker than the blueprint's; it is what every use in this section needs, since the series involved are all absolutely convergent.thrm:analytic-equivalence-theorem—Complex.analyticOnNhd_iff_differentiableOn(Complex.analyticOn_iff_differentiableOnfor theAnalyticOnvariant). Stated for Banach-space-valuedf : ℂ → E, which covers the blueprint's scalar case.thrm:maximum-modulus-principle—Complex.exists_mem_frontier_isMaxOn_normis the blueprint's statement itself (|f|attains its maximum at a point of the frontier), andComplex.norm_le_of_forall_mem_frontier_norm_leis the corollary form actually used downstream (a bound on the frontier propagates to the closure). Caveats: Mathlib'sDiffContOnCl ℂ f Uis the blueprint's "continuous onB̄, holomorphic onB"; and Mathlib drops the blueprint's hypothesis thatBbe connected, which is superfluous — the maximum modulus principle in this form holds on any bounded non-empty open set.thrm:hall-a.40—banach_steinhaus, the principle of uniform boundedness;banach_steinhaus_iSup_nnnormis theℝ≥0∞-supremum variant.
Notation anchors #
The compound anchor for the two notational conventions fixed together in the
blueprint: the identity operator 1 acts as the identity on every vector, and
the indicator function 1_E takes the value 1 on E and 0 off it.
This node also fixes a third convention with no propositional content, that
ℕ = {0, 1, 2, ...} includes 0, matching Lean and Mathlib. Section 10.3 cites
this anchor for that convention as well as for the two notations.
Blueprint reference: def:identity-and-indicator.
Orthogonal complements of subsets #
The orthogonal complement of an arbitrary subset V ⊆ H is the orthogonal
complement (Submodule.span ℂ V)ᗮ of the submodule it spans: a vector ψ lies in
it exactly when ⟪ψ, v⟫ = 0 for every v ∈ V.
Blueprint reference: def:orthogonal-complement.
Bounded measurable functions #
The blueprint's "bounded Borel function on X" is used as a hypothesis on roughly
thirty declarations in this directory. We package it once, as a Submodule (the
class is a complex vector space, which is how the blueprint uses it), rather than
threading a Measurable f ∧ ∃ K, ∀ x, ‖f x‖ ≤ K pair through every signature.
The complex vector space of bounded measurable complex-valued functions on a measurable space X.
A function f : X → ℂ belongs to it when f is measurable and |f(x)| ≤ C for some constant C and every x ∈ X. On the spectrum of an operator, with its Borel σ-algebra, these are the bounded Borel functions to which the Borel functional calculus applies: indicator functions 1_E of Borel sets E (the spectral projections), step functions, and every bounded continuous function.
Implementation note: the class is a Submodule ℂ (X → ℂ), so membership packages the two
hypotheses Measurable f and ∃ C, ∀ x, ‖f x‖ ≤ C (mem_bddMeasurable), and closure under sums
and scalar multiples is part of the structure. It is the single spelling of "bounded Borel
function" in the spectral files.
Blueprint: the bounded Borel functions of def:hall-8.8 and thrm:operator-valued-integration
Equations
Instances For
𝓑(H) as a Banach space #
𝓑(H) is a Banach space: it is a normed ℂ-algebra (the NormedRing and
NormedAlgebra instances on H →L[ℂ] H) and it is complete in the operator norm.
Only completeness has propositional content, so it is what is stated here.
Blueprint reference: lmm:bounded-operators-form-a-banach-space.
The resolvent set, the spectrum and the resolvent #
Mathlib's resolventSet ℂ A is defined through λ𝟙 - A, whereas the blueprint uses
A - λ𝟙; since -1 is a unit these describe the same set, which is the content of
mem_resolventSet_iff_isUnit_sub_smul.
Blueprint reference: def:bounded-operator-resolvent-and-spectrum.
A complex number λ lies in the resolvent set ρ(A) exactly when A − λ𝟙 has a bounded inverse.
The resolvent set of a bounded operator A is the set of λ ∈ ℂ for which A − λ𝟙 is invertible in the algebra of bounded operators, that is, has a two-sided inverse that is again bounded. The statement identifies Mathlib's resolvent set with that definition.
Implementation note: Mathlib's resolventSet ℂ A is defined through λ𝟙 − A
(spectrum.mem_resolventSet_iff); this theorem converts to the sign A − λ𝟙 by multiplying with
the unit −1.
Blueprint: def:bounded-operator-resolvent-and-spectrum
The spectrum σ(A) of a bounded operator A is the complement of its resolvent set ρ(A).
So λ ∈ σ(A) exactly when A − λ𝟙 has no bounded inverse. Every eigenvalue lies in the spectrum, but in infinite dimensions the spectrum can contain more: for a multiplication operator (Mψ)(x) = xψ(x) on L²([0, 1]) it is all of [0, 1], although M has no eigenvalues.
Implementation note: Mathlib's spectrum ℂ A is by definition the complement of
resolventSet ℂ A, so the proof is rfl.
Blueprint: def:bounded-operator-resolvent-and-spectrum
For λ in the resolvent set, Mathlib's resolvent A λ is a right inverse of λ𝟙 − A.
Implementation note: Mathlib's resolvent A λ is the inverse of λ𝟙 − A, so it is the negative
of the blueprint's resolvent (A − λ𝟙)⁻¹. This project states only the right-inverse equation.
Blueprint: the resolvent of def:bounded-operator-resolvent-and-spectrum
The Riesz representation theorem #
The Riesz representation theorem: every bounded linear functional on H is
ψ ↦ ⟪χ, ψ⟫ for a unique χ ∈ H, whose norm is the operator norm of the
functional. Mathlib packages this as the conjugate-linear isometric equivalence
InnerProductSpace.toDual.
Blueprint reference: thrm:hall-a.52.
The adjoint #
The defining property of the adjoint and its uniqueness are Mathlib's
ContinuousLinearMap.eq_adjoint_iff (blueprint def:adjoint-bounded). What is
recorded here are the facts Mathlib does not state in this form: the two
C⋆-identities, the *-algebra identities, and continuity.
The adjoint is norm preserving; in particular A⋆ is again a bounded operator, and
‖A⋆‖ ≤ ‖A‖.
Blueprint references: prpstn:adjoint-is-bounded and the first half of
prpstn:hall-7.2.
The C⋆-identity ‖A⋆A‖ = ‖A‖² on 𝓑(H).
Blueprint reference: prpstn:hall-7.2 (second half).
The adjoint is additive.
Blueprint reference: lmm:adjoint-algebra.
The adjoint is conjugate homogeneous.
Blueprint reference: lmm:adjoint-algebra.
The adjoint is anti-multiplicative.
Blueprint reference: lmm:adjoint-algebra.
The adjoint is compatible with powers.
Blueprint reference: lmm:adjoint-algebra.
The adjoint fixes the identity operator. (Involutivity of the adjoint is Mathlib's
ContinuousLinearMap.adjoint_adjoint.)
Blueprint reference: lmm:adjoint-algebra.
Convergence in the operator norm is preserved by taking adjoints.
Blueprint reference: prpstn:continuity-of-the-adjoint.
Orthogonal projections #
A bounded orthogonal projection is norm decreasing.
Blueprint reference: lmm:projection-norm-decreasing.
The operator norm #
The operator norm of A is the supremum of the moduli of its matrix elements
⟪χ, A ψ⟫ over pairs of unit vectors.
Blueprint reference: lmm:lemma-1.
A linear map between normed spaces is bounded if and only if it is continuous.
Blueprint reference: prpstn:bounded-operators-are-continuous.
Approximation and convergence prerequisites #
The complex-valued simple approximation theorem: a bounded measurable complex-valued function on a measurable space is the uniform limit of a sequence of simple functions.
Mathlib's MeasureTheory.StronglyMeasurable.approxBounded gives an almost
everywhere pointwise approximation by bounded simple functions; the uniform
statement below is genuinely stronger and is proved by slicing the (bounded) range
of f into finitely many pieces of diameter < 1/n.
Blueprint reference: thrm:complex-valued-simple-approximation-theorem.
The monotone convergence theorem for real sequences: a monotone sequence of reals has a finite limit if and only if it is bounded.
Blueprint reference: thrm:monotone-convergence-theorem.
The monotone convergence theorem for real sequences, decreasing case.
Blueprint reference: thrm:monotone-convergence-theorem.
Uniformly bounded pointwise limits #
Almost every convergence argument in this directory — the extension of the
functional calculus from continuous to bounded Borel functions, the monotone-class
bootstrap, and the bounded convergence theorem for the measures μ_ψ — feeds on
the same package of hypotheses on a sequence f : ℕ → α → ℂ: a single bound M
valid for all indices and all points, plus pointwise convergence to a limit g.
It is named once here and reused, rather than respelled as a pair of binders in
each signature.
A sequence of functions f_n : α → ℂ is bounded by b uniformly in n and converges pointwise to g.
The hypotheses are |f_n(x)| ≤ b(x) for every n and every x, and f_n(x) → g(x) for every x. The
convergence is pointwise, not uniform: its rate may depend on the point. This is the hypothesis
of the bounded convergence theorem (tendsto_integral_of_boundedPointwiseLimit), which
extends the functional calculus from continuous to bounded Borel functions.
Implementation note: the bound b is usually a constant fun _ => M; it may vary so that the
same predicate covers the quadratic bound fun φ => C * ‖φ‖ ^ 2 for sequences of quadratic forms in
Physicslib4/Spectral/Forms.lean.
Blueprint: the hypotheses of thrm:bounded-convergence-theorem
The sequence is dominated by
b, uniformly in the index.- tendsto (x : α) : Filter.Tendsto (fun (n : ℕ) => f n x) Filter.atTop (nhds (g x))
The sequence converges to
gpointwise.
Instances For
A pointwise limit of measurable complex-valued functions is measurable.
Blueprint reference: lmm:pointwise-limits-of-borel-measurable-functions (first
half).
A pointwise limit of a uniformly bounded sequence of functions obeys the same bound.
Blueprint reference: lmm:pointwise-limits-of-borel-measurable-functions (second
half).
The bounded convergence theorem: on a space of finite measure, the integrals of a uniformly bounded sequence of measurable complex-valued functions converge to the integral of its pointwise limit.
This is the constant-dominating-function case of Mathlib's
MeasureTheory.tendsto_integral_of_dominated_convergence; the constant is
integrable precisely because μ is finite, which is the blueprint's hypothesis
μ(X) < ∞. Measurability of each f i is carried explicitly: the blueprint leaves
it implicit in writing ∫_X f_i dμ, but the integral is only defined with it.
Blueprint reference: thrm:bounded-convergence-theorem.