Bounded normal operators #
The Cayley transform turns an unbounded self-adjoint operator into a bounded operator
that is normal but not self-adjoint, so the spectral theorem is needed for bounded
normal operators. This file carries out the first stage: the continuous functional
calculus for a bounded normal operator, built through a two-variable spectral mapping
theorem for polynomials in A and A*.
A normal operator is Mathlib's IsStarNormal. A polynomial in two variables is an
MvPolynomial (Fin 2) ℂ; substituting A for the first variable and A* for the second
is mvApply, defined coefficientwise (so no commutativity of the target algebra is
required), and the corresponding scalar function λ ↦ p(λ, conj λ) is mvEvalConj.
Main definitions #
mvApply,mvEvalConj,mvPolyOn— polynomials inAandA*.spectralSubspace— the range of a spectral projection.IsAlmostEigenvector— the blueprint'sε-almost eigenvector.normalCalculus— the continuous functional calculus of a normal operator.
Main statements #
tendsto_norm_pow_div_atTop,spectralRadius_mul_le_of_commute— power growth and the spectral radius of a commuting product.mapsTo_pvmOperator_spectralSubspace,norm_sub_smul_le_of_mem_spectralSubspace,spectralSubspace_ne_bot— properties of spectral subspaces.commute_borelCalculus,mapsTo_spectralSubspace_of_commute— commuting operators preserve spectral subspaces.norm_adjoint_sub_smul_apply,isAlmostEigenvector_adjoint,mem_spectrum_iff_forall_isAlmostEigenvector— almost eigenvectors.spectrum_mvApply— the two-variable spectral mapping theorem.norm_mvApply— the norm of a polynomial inAandA*.existsUnique_normalCalculusand the property lemmas — the continuous functional calculus for a normal operator.
Polynomials in A and A* #
The operator p(A, A*) obtained by substituting a bounded operator A and its adjoint into a polynomial in two variables.
A polynomial p(λ, λ̄) = Σ a(kl) λᵏ λ̄ˡ in a complex variable and its conjugate becomes the bounded
operator p(A, A*) = Σ a(kl) Aᵏ (A*)ˡ, with all powers of A written to the left of the powers of
A*. For a normal A (one that commutes with its adjoint) the ordering does not matter, and
p(A, A*) is again normal and commutes with A and A* (isStarNormal_mvApply,
commute_mvApply). These are the operators from which the continuous functional calculus of a
normal operator is built.
Implementation note: the polynomial is an MvPolynomial (Fin 2) ℂ, whose first variable
stands for λ and second for λ̄. The definition is the sum over the coefficients, so it needs no
commutativity of A and A* and makes sense for every bounded A; normality is used only in the
theorems about it.
Blueprint: lmm:polynomials-in-normal-are-normal
Equations
- Physicslib4.Spectral.Unbounded.mvApply A p = ∑ d ∈ p.support, p.coeff d • (A ^ d 0 * ContinuousLinearMap.adjoint A ^ d 1)
Instances For
The complex function λ ↦ p(λ, λ̄) defined by a polynomial in two variables.
This is the scalar counterpart of mvApply: the same polynomial, with λ substituted for the
first variable and its complex conjugate λ̄ for the second. By the two-variable spectral
mapping theorem (spectrum_mvApply), for a normal A the spectrum of p(A, A*) is the image of
the spectrum of A under this function.
Blueprint: lmm:polynomials-in-normal-are-normal
Equations
- Physicslib4.Spectral.Unbounded.mvEvalConj p lam = ∑ d ∈ p.support, p.coeff d * lam ^ d 0 * (starRingEnd ℂ) lam ^ d 1
Instances For
Norm and spectral radius #
Powers of a bounded operator grow no faster than the spectral radius allows: if
R(A) < T then ‖Aᵐ‖ / Tᵐ → 0.
The blueprint's standing hypothesis H ≠ {0}, needed there for σ(A) to be non-empty and
hence R(A) to be a supremum over a non-empty set, is Nontrivial H.
Blueprint reference: lmm:power-growth-controlled-by-spectral-radius.
The spectral radius is submultiplicative on commuting operators.
Blueprint reference: lmm:hall-10.22.
Spectral subspaces #
The spectral subspace V(E) of a projection-valued measure μ and a measurable set E: the range of the projection μ(E).
When μ is the spectral measure of an observable A, V(E) consists of the states in which a
measurement of A gives a value in E with certainty. Each V(E) is a closed subspace of H, because
the range of an orthogonal projection is closed (isClosed_range_of_isStarProjection), and
hence a Hilbert space in its own right.
Implementation note: the measure is on an arbitrary measurable space X, so the definition
covers both the self-adjoint and the normal case of the blueprint. The subspace is the range of
the underlying linear map of μ E, as a Submodule ℂ H.
Blueprint: def:hall-7.14
Equations
- Physicslib4.Spectral.Unbounded.spectralSubspace μ E = (↑(μ E)).range
Instances For
The bounded operator ∫ λ dμ(λ) defined by a projection-valued measure μ on a subset Y of ℂ.
It is the operator whose spectral measure μ is meant to be: the integral of the coordinate
function λ ↦ λ against μ. On a compact Y this function is bounded and measurable
(coe_mem_bddMeasurable), so the integral is a bounded operator. Its spectral subspaces are
invariant under it (mapsTo_pvmOperator_spectralSubspace), and it acts on V(E) as
multiplication by λ₀ up to an error ε when E lies within distance ε of λ₀
(norm_sub_smul_le_of_mem_spectralSubspace).
Implementation note: the definition takes any Y; compactness of Y is a hypothesis of the theorems about it.
Blueprint: prpstn:hall-7.15
Equations
- Physicslib4.Spectral.Unbounded.pvmOperator μ = μ.integral fun (y : ↑Y) => ↑y
Instances For
The inclusion Y ↪ ℂ of a compact set is bounded and measurable.
The indicator function of a measurable set is bounded and measurable.
∫ (ι - λ₀) dμ = ∫ ι dμ - λ₀ 1.
Each spectral subspace is invariant under ∫ ι dμ.
Blueprint reference: prpstn:hall-7.15 (Part 1).
If E sits in the closed ε-disc about λ₀, then ‖(A - λ₀ 1) ψ‖ ≤ ε ‖ψ‖ on the
corresponding spectral subspace.
Blueprint reference: prpstn:hall-7.15 (Part 2).
Spectral subspaces attached to neighbourhoods of a spectral point are non-trivial.
Blueprint reference: prpstn:hall-7.15 (Part 3).
An operator commuting with a bounded self-adjoint A commutes with the whole bounded
Borel functional calculus of A.
Blueprint reference: prpstn:hall-7.16 (Part 1).
Consequently every spectral subspace of A is invariant under B.
Blueprint reference: prpstn:hall-7.16 (Part 2).
Almost eigenvectors #
For a normal A, the operators A - λ 1 and A* - conj λ 1 have the same action on
norms.
Blueprint reference: lmm:normality-balances-norms.
A vector ψ is an ε-almost eigenvector of a bounded operator A with eigenvalue λ: ψ is nonzero and ‖(A − λ𝟙)ψ‖ < ε‖ψ‖.
A point of the continuous spectrum, such as a value of the position operator, has no
eigenvector, but it has approximate ones: wave packets sharply peaked at that point. For a
normal A, λ lies in the spectrum exactly when, for every ε > 0, there is an ε-almost
eigenvector with eigenvalue λ (mem_spectrum_iff_forall_isAlmostEigenvector).
Implementation note: the definition places no condition on ε; the blueprint's ε > 0 is a hypothesis of the theorems that use it.
Blueprint: def:hall-10.24
The vector ψ is nonzero.
The strict inequality ‖(A − λ𝟙)ψ‖ < ε‖ψ‖.
Instances For
An almost eigenvector of a normal A with eigenvalue λ is one for A* with eigenvalue
conj λ.
Blueprint reference: lmm:hall-10.25 (Part 1).
For a normal operator, the spectrum is exactly the set of λ admitting ε-almost
eigenvectors for every ε > 0.
Blueprint reference: lmm:hall-10.25 (Part 2).
Uniform constant for polynomials in A and A*. For every radius R, one
constant C works for all eigenvalues λ with ‖λ‖ ≤ R: it depends only on p, A and R.
Blueprint reference: lmm:hall-10.26.
Polynomials in A and A* turn ε-almost eigenvectors into (C ε)-almost eigenvectors,
with C independent of ε and ψ.
Blueprint reference: lmm:hall-10.26.
The adjoint of p(A, A*) is obtained by conjugating the coefficients and swapping the two
exponents.
Blueprint reference: lmm:polynomials-in-normal-are-normal.
p(A, A*) is again normal.
Blueprint reference: lmm:polynomials-in-normal-are-normal.
p(A, A*) and its adjoint commute with A and with A*.
Blueprint reference: lmm:polynomials-in-normal-are-normal.
A normal operator restricted to a nonzero closed subspace invariant under both A and
A* is again normal, with adjoint the restriction of A* and norm at most ‖A‖.
Blueprint reference: lmm:restriction-of-normal-operator.
For ν in the spectrum of p(A, A*) there is, for every ε > 0, a nonzero closed
subspace invariant under A and A* all of whose nonzero vectors are ε-almost
eigenvectors for p(A, A*) with eigenvalue ν.
The proof does not follow the blueprint's route through lmm:hall-10.26, the spectral
subspaces of B*B and prpstn:hall-7.15/prpstn:hall-7.16. With B = p(A, A*) - ν, it
gets 0 ∈ σ(B*B) directly from Commute.isUnit_mul_iff, and takes W to be the kernel
of f(B*B) for a clamp function f, built with Mathlib's continuous functional calculus
cfc.
Blueprint reference: lmm:hall-10.27.
The two-variable spectral mapping theorem #
The spectral mapping theorem for polynomials in a normal operator and its adjoint: the spectrum of p(A, A*) is the set of values p(λ, λ̄) with λ in the spectrum of A.
For a normal A this is the statement that p(A, A*) acts on the spectrum the way the polynomial
acts on numbers. It gives the norm of p(A, A*) as the supremum of |p(λ, λ̄)| over the spectrum
(norm_mvApply), the estimate on which the continuous functional calculus of a normal operator
rests.
Implementation note: the proof does not follow the blueprint's almost-eigenvector argument
(lmm:hall-10.25 to lmm:hall-10.27). It identifies mvApply A p with Mathlib's continuous
functional calculus of A applied to λ ↦ p(λ, λ̄) (mvApply_eq_cfc) and uses Mathlib's spectral
mapping theorem cfc_map_spectrum. The blueprint's hypothesis H ≠ {0} is not needed.
Blueprint: thrm:hall-10.23
The norm of a polynomial in A and A* is the supremum of |p(λ, conj λ)| over the
spectrum.
Blueprint reference: crllr:norm-of-polynomial-in-a-astar.
The continuous functional calculus for a normal operator #
The function λ ↦ p(λ, λ̄) on the spectrum of A, as a continuous function.
This is mvEvalConj restricted to σ(A) and regarded as an element of C(σ(A), ℂ), the domain of
the continuous functional calculus normalCalculus, which sends it to p(A, A*)
(normalCalculus_mvPolyOn).
Blueprint: thrm:continuous-functional-calculus-normal
Equations
- Physicslib4.Spectral.Unbounded.mvPolyOn A p = { toFun := fun (lam : ↑(spectrum ℂ A)) => Physicslib4.Spectral.Unbounded.mvEvalConj p ↑lam, continuous_toFun := ⋯ }
Instances For
The continuous functional calculus f ↦ f(A) of a bounded normal operator A, for continuous complex functions f on the spectrum of A.
A bounded operator A is normal when it commutes with its adjoint, A A* = A* A; self-adjoint
and unitary operators are the main examples. For such A every continuous f on σ(A) defines a
bounded operator f(A). The map f ↦ f(A) is linear and multiplicative, sends f̄ to f(A)*, is
isometric (‖f(A)‖ = sup |f| on σ(A)), and sends 1 to 𝟙 and λ ↦ λ to A (normalCalculus_mul,
normalCalculus_star, norm_normalCalculus, normalCalculus_one_and_id). It is the unique
bounded linear map extending p ↦ p(A, A*) (existsUnique_normalCalculus).
Implementation note: the definition is Mathlib's continuous functional calculus cfcHom for
the predicate IsStarNormal, available because Mathlib makes H →L[ℂ] H a C*-algebra. It is a
star-algebra homomorphism, so linearity, multiplicativity and the adjoint property hold by
construction. Mathlib's construction replaces the blueprint's density argument through the
two-variable spectral mapping theorem; existsUnique_normalCalculus connects the two.
Blueprint: thrm:continuous-functional-calculus-normal
Equations
Instances For
normalCalculus extends p ↦ p(A, A*).
Blueprint reference: thrm:continuous-functional-calculus-normal (the defining property).
The continuous functional calculus of a normal operator is unique: exactly one bounded linear map from C(σ(A), ℂ) to the bounded operators sends each λ ↦ p(λ, λ̄) to p(A, A*).
The functions λ ↦ p(λ, λ̄) are dense in C(σ(A), ℂ) by the Stone–Weierstrass theorem, so a
bounded linear map is fixed by its values on them. The map in question is normalCalculus.
Implementation note: uniqueness comes from Mathlib's Stone–Weierstrass theorem in the form
ContinuousMap.elemental_id_eq_top: the star-subalgebra generated by λ ↦ λ is dense. The
blueprint's hypothesis H ≠ {0} is not needed.
Blueprint: thrm:continuous-functional-calculus-normal
Multiplicativity of the normal functional calculus.
Blueprint reference: thrm:continuous-functional-calculus-normal (Property 2).
The calculus intertwines complex conjugation with the adjoint.
Blueprint reference: thrm:continuous-functional-calculus-normal (Property 3).
The calculus is isometric.
Blueprint reference: thrm:continuous-functional-calculus-normal (Property 4).
The calculus sends the constant 1 to 1 and the identity function to A.
Blueprint reference: thrm:continuous-functional-calculus-normal (Property 5).
A real-valued f gives a self-adjoint operator, and every f gives a normal one.
Blueprint reference: thrm:continuous-functional-calculus-normal (final paragraph).
Every value of the calculus is normal.
Blueprint reference: thrm:continuous-functional-calculus-normal (final paragraph).