MathlibAnnex/Analysis/CStarAlgebra/Representation/CompactlyRepresented.lean
Exact source · gss-v0.5.0
Fixed commit original · Raw UTF-8 source · Back to GSS Companion
Select a source link from a manuscript to highlight its exact range.
Technical identity
- Commit
ac405356bb98afed954da9b9c795d23cc8d5d149- SHA-256
4432f134ce91c15a9465f343d9f479b87986fc58e4dfded3dea9ef8d29343d59- Bytes
- 10412
1/-2Copyright (c) 2026 Ryotaro Tanaka. All rights reserved.3Released under Apache 2.0 license as described in the file LICENSE.4Authors: Ryotaro Tanaka5-/67import MathlibAnnex.Analysis.CStarAlgebra.FacialStructure.SimultaneousClipping8import MathlibAnnex.Analysis.InnerProductSpace.CompactOperatorIdeal9import MathlibAnnex.Analysis.InnerProductSpace.CompactSpectrum10import Mathlib.Analysis.CStarAlgebra.Projection11import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Isometric12import Mathlib.Analysis.InnerProductSpace.Spectrum1314/-!15# Finite-rank spectral projections in faithfully compact representations1617A faithful representation whose every represented operator is compact contains18actual finite-rank projections. The point which requires proof is membership in19the represented algebra: an ambient finite-rank approximation is not enough.2021For a nonzero positive represented compact operator we choose a nonzero22eigenvalue, isolate it by restricting to the orthogonal complement of its23eigenspace and using the Fredholm alternative, and apply a zero-preserving24continuous functional calculus cutoff. The resulting element is a nonzero star25projection in the original nonunital C-star algebra. Its represented range is26contained in the finite-dimensional eigenspace.2728No separability, countable basis, unitality, irreducibility, or pre-existing29rank-one element is assumed.30-/3132@[expose] public section3334set_option autoImplicit false35noncomputable section3637open Set Metric Module Module.End38open scoped CStarAlgebra ComplexConjugate Topology3940namespace MathlibAnnex.Analysis.CStarAlgebra4142universe u v43variable {A : Type u} [NonUnitalCStarAlgebra A] [PartialOrder A] [StarOrderedRing A]44variable {H : Type v} [NormedAddCommGroup H] [InnerProductSpace ℂ H] [CompleteSpace H]4546/-- A faithful representation is compactly represented when every represented47operator is compact in the original operator norm. This is deliberately weaker48than `IsCompactOperatorModel`: no surjectivity onto all compact operators is49part of the definition. -/50def NonUnitalCStarRepresentation.IsCompactlyRepresented51(pi : NonUnitalCStarRepresentation A H) : Prop :=52Function.Injective pi ∧ ∀ a : A, IsCompactOperator (pi a)5354namespace NonUnitalCStarRepresentation5556/-- The normal-element version of the existing self-adjoint transport lemma. -/57theorem map_cfcₙ_eq_cfc_normal58(pi : NonUnitalCStarRepresentation A H) (a : A) (ha : IsStarNormal a)59(f : ℂ → ℂ) (hf : Continuous f) (hf0 : f 0 = 0) :60pi (cfcₙ f a) = cfc f (pi a) := by61rw [pi.map_cfcₙ f a hf.continuousOn hf0 (by fun_prop) ha (ha.map pi),62cfcₙ_eq_cfc hf.continuousOn hf0]6364end NonUnitalCStarRepresentation656667/-- Radial peak used to isolate one nonzero point of a compact-operator68spectrum. It is one at `μ`, vanishes outside the open `r`-ball, and is69zero at the origin when `r < ‖μ‖`. -/70def compactSpectralPeak (μ : ℂ) (r : ℝ) (z : ℂ) : ℂ :=71((max 0 (1 - ‖z - μ‖ / r) : ℝ) : ℂ)7273namespace compactSpectralPeak7475variable {μ z : ℂ} {r : ℝ}7677theorem continuous (hr : 0 < r) : Continuous (compactSpectralPeak μ r) := by78unfold compactSpectralPeak79fun_prop8081@[simp]82theorem apply_center (hr : r ≠ 0) : compactSpectralPeak μ r μ = 1 := by83simp [compactSpectralPeak, hr]8485@[simp]86theorem apply_zero (hr : 0 < r) (hrμ : r ≤ ‖μ‖) :87compactSpectralPeak μ r 0 = 0 := by88have hdiv : 1 ≤ ‖μ‖ / r := (le_div_iff₀ hr).2 (by simpa only [one_mul] using hrμ)89simp [compactSpectralPeak, norm_neg, max_eq_left, sub_nonpos.mpr hdiv]9091@[simp]92theorem apply_eq_zero_of_le_dist (hr : 0 < r) (h : r ≤ dist z μ) :93compactSpectralPeak μ r z = 0 := by94have hdiv : 1 ≤ ‖z - μ‖ / r := by95rw [dist_eq_norm] at h96exact (le_div_iff₀ hr).2 (by simpa only [one_mul] using h)97simp [compactSpectralPeak, max_eq_left, sub_nonpos.mpr hdiv]9899@[simp]100theorem apply_eq_zero_or_one_on_isolated_spectrum101{T : H →L[ℂ] H} (hr : 0 < r) (hμ : μ ∈ spectrum ℂ T)102(hiso : ∀ z ∈ spectrum ℂ T, z ≠ μ → r ≤ dist z μ)103{z : ℂ} (hz : z ∈ spectrum ℂ T) :104compactSpectralPeak μ r z = 0 ∨ compactSpectralPeak μ r z = 1 := by105by_cases h : z = μ106· subst z107exact Or.inr (apply_center hr.ne')108· exact Or.inl (apply_eq_zero_of_le_dist hr (hiso z hz h))109110end compactSpectralPeak111112namespace NonUnitalCStarRepresentation113114/-- The isolated compact spectral projection in the source algebra. -/115def compactSpectralProjection116(pi : NonUnitalCStarRepresentation A H) (a : A) (μ : ℂ) (r : ℝ) : A :=117cfcₙ (compactSpectralPeak μ r) a118119/-- Functional calculus for the compact spectral peak is transported through120the given representation without changing the selected operator. -/121theorem compactSpectralProjection_apply122(pi : NonUnitalCStarRepresentation A H) (a : A) (ha : IsStarNormal a)123(μ : ℂ) {r : ℝ} (hr : 0 < r) (hrμ : r ≤ ‖μ‖) :124pi (pi.compactSpectralProjection a μ r) =125cfc (compactSpectralPeak μ r) (pi a) := by126exact pi.map_cfcₙ_eq_cfc_normal a ha _127(compactSpectralPeak.continuous hr)128(compactSpectralPeak.apply_zero hr hrμ)129130/-- The represented peak is an actual nonzero finite-rank star projection. -/131theorem exists_nonzero_finite_rank_spectral_projection132(pi : NonUnitalCStarRepresentation A H) (hpi : Function.Injective pi)133(a : A) (ha : 0 ≤ a) (ha0 : a ≠ 0)134(hcompact : IsCompactOperator (pi a)) :135∃ p : A,136IsStarProjection p ∧ p ≠ 0 ∧137FiniteDimensional ℂ (LinearMap.range (pi p).toLinearMap) ∧138∃ (μ : ℂ) (r : ℝ),139μ ≠ 0 ∧ 0 < r ∧ r < ‖μ‖ ∧140HasEigenvalue ((pi a) : Module.End ℂ H) μ ∧141pi p = cfc (compactSpectralPeak μ r) (pi a) ∧142(pi a) * (pi p) = μ • (pi p) := by143have haSelf : IsSelfAdjoint a := IsSelfAdjoint.of_nonneg ha144have hTSelf : (pi a).IsSymmetric := (haSelf.map pi).isSymmetric145have hT0 : pi a ≠ 0 := fun h => ha0 (hpi (by simpa using h))146obtain ⟨μ, r, hμ0, hr, hrμ, hμEig, hiso⟩ :=147(pi a).exists_isolated_nonzero_eigenvalue hcompact hTSelf hT0148let f : ℂ → ℂ := compactSpectralPeak μ r149let p : A := pi.compactSpectralProjection a μ r150let q : H →L[ℂ] H := cfc f (pi a)151have hμspec : μ ∈ spectrum ℂ (pi a) :=152(hcompact.hasEigenvalue_iff_mem_spectrum hμ0).1 hμEig153have hf : Continuous f := compactSpectralPeak.continuous hr154have hf0 : f 0 = 0 := compactSpectralPeak.apply_zero hr hrμ.le155have hmap : pi p = q := by156exact pi.compactSpectralProjection_apply a haSelf.isStarNormal μ hr hrμ.le157have hqIdem : IsIdempotentElem q := by158rw [IsIdempotentElem]159change q * q = q160rw [show q * q = cfc (fun z => f z * f z) (pi a) by161exact (cfc_mul f f (pi a) hf.continuousOn hf.continuousOn).symm]162apply cfc_congr163intro z hz164rcases compactSpectralPeak.apply_eq_zero_or_one_on_isolated_spectrum165hr hμspec hiso hz with hz0 | hz1166· simp [f, hz0]167· simp [f, hz1]168have hqNormal : IsStarNormal q :=169cfc_predicate f (pi a)170have hqProj : IsStarProjection q :=171isStarProjection_iff_isIdempotentElem_and_isStarNormal.mpr ⟨hqIdem, hqNormal⟩172have hpIdem : IsIdempotentElem p := by173rw [IsIdempotentElem]174apply hpi175rw [map_mul, hmap, hqIdem.eq]176have hpNormal : IsStarNormal p := by177exact cfcₙ_predicate f a178have hpProj : IsStarProjection p :=179isStarProjection_iff_isIdempotentElem_and_isStarNormal.mpr ⟨hpIdem, hpNormal⟩180have hq0 : q ≠ 0 := by181intro hq182have h1 : (1 : ℂ) ∈ spectrum ℂ q := by183rw [cfc_map_spectrum f (pi a) (haSelf.map pi).isStarNormal hf.continuousOn]184exact ⟨μ, hμspec, compactSpectralPeak.apply_center hr.ne'⟩185obtain ⟨x, _, hx0⟩ :=186((hcompact.hasEigenvalue_iff_mem_spectrum hμ0).2 hμspec).exists_hasEigenvector187letI : Nontrivial H := ⟨⟨x, 0, hx0⟩⟩188rw [hq, CFC.spectrum_zero_eq (R := ℂ)] at h1189exact one_ne_zero (Set.mem_singleton_iff.mp h1)190have hp0 : p ≠ 0 := fun hp => hq0 (by rw [← hmap, hp, map_zero])191have hTq : (pi a) * q = μ • q := by192calc193(pi a) * q = cfc (fun z : ℂ => z * f z) (pi a) := by194have hmul := cfc_mul (fun z : ℂ => z) f (pi a)195continuousOn_id hf.continuousOn196rw [cfc_id' ℂ (pi a) (haSelf.map pi).isStarNormal] at hmul197exact hmul.symm198_ = cfc (fun z : ℂ => μ * f z) (pi a) := by199apply cfc_congr200intro z hz201rcases compactSpectralPeak.apply_eq_zero_or_one_on_isolated_spectrum202hr hμspec hiso hz with hz0 | hz1203· simp [f, hz0]204· have hzμ : z = μ := by205by_contra h206have := compactSpectralPeak.apply_eq_zero_of_le_dist hr (hiso z hz h)207exact one_ne_zero (hz1.symm.trans this)208simp [hzμ, hz1]209_ = μ • q := by210simpa [q] using cfc_smul μ f (pi a) hf.continuousOn211have hrange : LinearMap.range q.toLinearMap ≤212Module.End.eigenspace (pi a).toLinearMap μ := by213rintro y ⟨x, rfl⟩214rw [Module.End.mem_eigenspace_iff]215simpa [ContinuousLinearMap.mul_apply] using congrArg (fun T : H →L[ℂ] H => T x) hTq216haveI : FiniteDimensional ℂ217(Module.End.eigenspace (pi a).toLinearMap μ) :=218ContinuousLinearMap.finite_dimensional_eigenspace hcompact μ hμ0219have hfinite : FiniteDimensional ℂ (LinearMap.range q.toLinearMap) :=220Submodule.finiteDimensional_of_le hrange221have hfinite' : FiniteDimensional ℂ (LinearMap.range (pi p).toLinearMap) := by222rw [hmap]223exact hfinite224exact ⟨p, hpProj, hp0, hfinite', μ, r, hμ0, hr, hrμ, hμEig, hmap,225by simpa only [hmap] using hTq⟩226227/-- The compact-representation hypothesis supplies the preceding projection228for every nonzero positive source element. -/229theorem exists_nonzero_finite_rank_projection_of_isCompactlyRepresented230(pi : NonUnitalCStarRepresentation A H)231(hpi : pi.IsCompactlyRepresented)232(a : A) (ha : 0 ≤ a) (ha0 : a ≠ 0) :233∃ p : A, IsStarProjection p ∧ p ≠ 0 ∧234FiniteDimensional ℂ (LinearMap.range (pi p).toLinearMap) := by235obtain ⟨p, hp, hp0, hfin, -⟩ :=236pi.exists_nonzero_finite_rank_spectral_projection hpi.1 a ha ha0 (hpi.2 a)237exact ⟨p, hp, hp0, hfin⟩238239end NonUnitalCStarRepresentation240241end MathlibAnnex.Analysis.CStarAlgebra