Diagonal operators on a Hilbert basis #
Category: 1-Mathlib (CSD-free; staged for upstream). BACKLOG #93(a).
Given a Hilbert basis e : HilbertBasis ι 𝕜 E and a family of real weights l : ι → ℝ, the
diagonal operator multiplies the i-th coefficient of a vector by l i. Unless the weights are
bounded this takes some vectors out of the space, so it is not a ContinuousLinearMap but a
LinearPMap on the natural domain of vectors whose weighted coefficients are still square-summable
— the standard model of an unbounded self-adjoint operator, and the shape every operator with a
known eigenbasis has.
HilbertBasis.diagDomain e l— the natural domain, with ★basis_mem_diagDomain(every basis vector is in it, whatever the weights) and ★★dense_diagDomain;HilbertBasis.diagOp e l— the operator, withrepr_diagOpits coefficients and ★diagOp_apply_basis— each basis vector is an eigenvector with eigenvaluel i;- ★★
diagOp_isFormalAdjoint(symmetry — the one place reality of the weights is used) and ★★★isSelfAdjoint_diagOp— the operator is self-adjoint, the content being maximality: a vector the adjoint is defined at is already in the domain (repr_adjoint_diagOp); LinearPMap.IsResolventAt,LinearPMap.resolventSetandLinearPMap.spectrum— the spectrum of an operator with a domain, with ★LinearPMap.bijective_of_isResolventAtreading the definition back (T - zis a bijection of the domain ontoE) and ★LinearPMap.mem_spectrum_of_apply_eq_smul(an eigenvalue is a spectral value);- ★★
mem_resolventSet_diagOpand ★★closure_range_subset_spectrum_diagOp, giving ★★★spectrum_diagOp— the spectrum is the closure of the weight set, so a self-adjoint operator with any prescribed closed spectrum exists; HilbertBasis.diagCLM— the bounded companion (bounded weights, a genuineContinuousLinearMap), which is what the resolvent is built from, plus theℓ²multiplierlpMuland ★Memℓp.mul_of_bddAboveunderneath it.
Honest scope #
⚠️ LinearPMap.spectrum is defined here, not imported. Mathlib's spectrum is defined for
elements of an algebra, which an operator with a proper domain is not, so this module gives the
resolvent-set definition: z is a resolvent point when T - z has a two-sided inverse that is a
bounded operator on all of E. bijective_of_isResolventAt is the sanity check that this says what
it should. The comparison with _root_.spectrum for a bounded operator on the domain ⊤ is not
proved here; nothing below needs it.
⚠️ No functional calculus, no spectral measure, no resolution of the identity: the spectrum is
computed as a set, and that is all. Nor is the standard theorem that a self-adjoint operator has real
spectrum proved — for these operators it is visible in spectrum_diagOp, which exhibits the spectrum
as the closure of a set of real scalars, but the general statement is a different theorem.
⚠️ The weights are real by hypothesis. A complex family gives a perfectly good operator by the same definitions, and it is symmetric only when the weights are real; nothing here is stated for the complex case.
References: the construction is the multiplication-operator model behind the spectral theorem — e.g.
Reed–Simon I, Theorem VIII.4, or Rudin, Functional Analysis Ch. 13 — stated here on a Hilbert basis
rather than on an L² space. Consumer: specs/BACKLOG.md #93, whose items (b) and (c) would put the
twisted Laplacian of Mathlib/QuantumInfo/AharonovBohmCircle.lean into this form.
ℓ² membership at the exponent 2 #
The bounded multiplication operator on ℓ² #
The diagonal operator of a real weight family #
The resolvent set of a partially defined operator #
Mathlib's spectrum is defined for elements of an algebra, which an operator with a domain is not,
so the resolvent set is spelled out here: z is in it when T - z has a genuine bounded two-sided
inverse.
S is a bounded inverse of T - z: it lands in the domain of T, it undoes T - z there,
and T - z undoes it on all of E.
The inverse lands in the domain of
T.T - zis a left inverse ofSon all ofE.Sis a left inverse ofT - zon the domain ofT.
Instances For
The resolvent set: the scalars at which T has a bounded inverse.
Equations
- T.resolventSet = {z : 𝕜 | ∃ (S : E →L[𝕜] E), T.IsResolventAt z S}
Instances For
The spectrum of a partially defined operator: the complement of its resolvent set. This agrees
with _root_.spectrum for a ContinuousLinearMap read as a LinearPMap on ⊤, and is stated
separately because an operator with a proper domain is not an element of an algebra.
Equations
- T.spectrum = T.resolventSetᶜ
Instances For
★ At a resolvent point T - z really is a bijection of the domain onto E. This is the
sanity check on the definition above: resolventSet says what the resolvent set should say.
★ An eigenvalue is in the spectrum.
The natural domain of the diagonal operator with weights l: the vectors whose weighted
coefficient sequence is still square-summable.
Equations
Instances For
Two vectors with the same coefficients are equal.
★ Every basis vector lies in the domain, whatever the weights.
★★ The domain is dense: it contains every basis vector, and their span is dense.
The diagonal operator with weights l, as a partially defined operator on E.
Equations
- One or more equations did not get rendered due to their size.
Instances For
★ Every weight is an eigenvalue, with a basis vector as its eigenvector.
Symmetry and self-adjointness #
★★ The diagonal operator of a real family is symmetric. The weight comes out of either slot unchanged, which is where reality of the weights is used and the only place it is needed.
The adjoint has the same coefficients as the operator itself: this is the computation behind maximality, and hence behind self-adjointness.
★★★ The diagonal operator of a real weight family is self-adjoint. Symmetry is the easy half; the content is maximality — a vector the adjoint is defined at already has a square-summable weighted coefficient sequence, so the adjoint's domain cannot be larger.
The bounded diagonal operator, and the spectrum #
Multiplying the coefficients by a bounded family, as a continuous linear map. This is the
bounded companion of diagOp, and the resolvent of diagOp is one of these.
Equations
- e.diagCLM w hC hw = e.repr.symm.toLinearIsometry.toContinuousLinearMap ∘SL lpMul w hC hw ∘SL e.repr.toLinearIsometry.toContinuousLinearMap
Instances For
★★ Off the closure of the weights the operator has a bounded inverse, namely the diagonal
operator with the reciprocal weights. The reciprocals are bounded there — that is exactly what being
off the closure says — and l i / (l i − z) is bounded too, which is what puts the inverse's values
back in the domain.
★★ Every limit of weights is in the spectrum. The basis vectors are approximate eigenvectors there, so no bounded inverse can exist: it would have to stretch a unit vector by more than its own norm.
★★★ The spectrum of a diagonal operator is the closure of its weight set. Every weight is
an eigenvalue, every limit of weights is a spectral value, and nothing else is: off the closure the
reciprocal weights assemble a bounded inverse. With isSelfAdjoint_diagOp this is the spectral
picture of a self-adjoint operator with a prescribed spectrum.
★ Every weight is an eigenvalue, hence in the spectrum.