MathlibAnnex/Analysis/CStarAlgebra/CompactModel.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
d76879b349527cfdc65525d780a4f27f220bd19c8ab69e01f7b5bb87a1f8c285- Bytes
- 3652
1import Mathlib.Analysis.CStarAlgebra.ContinuousLinearMap2import Mathlib.Analysis.InnerProductSpace.LinearMap3import Mathlib.Analysis.Normed.Operator.Compact.FiniteDimension4import Mathlib.Topology.Algebra.Module.FiniteDimension56/-!7# Algebraic models of the compact operators89The fixed Mathlib version exposes compact operators as a predicate/submodule,10not as a bundled star algebra. `IsCompactOperatorModel` is the exact range11characterization of an ordinary nonunital star-algebra isomorphism onto all12compact operators.13-/1415set_option autoImplicit false1617open scoped InnerProduct1819namespace MathlibAnnex.Analysis.CStarAlgebra2021universe u v2223variable {A : Type u}24variable {H : Type v} [NormedAddCommGroup H] [InnerProductSpace ℂ H] [CompleteSpace H]2526/-- A nonunital star representation that is injective and has precisely the27compact operators as its range. This is the unbundled form of a star28isomorphism with `K(H)`. -/29def IsCompactOperatorModel [NonUnitalCStarAlgebra A]30(e : A →⋆ₙₐ[ℂ] (H →L[ℂ] H)) : Prop :=31Function.Injective e ∧32(∀ a : A, IsCompactOperator (e a)) ∧33∀ T : H →L[ℂ] H, IsCompactOperator T → ∃ a : A, e a = T3435omit [CompleteSpace H] in36/-- Rank-one operators are compact, proved by factoring through the37one-dimensional scalar field. -/38theorem isCompactOperator_rankOne (x y : H) :39IsCompactOperator (InnerProductSpace.rankOne ℂ x y) := by40rw [InnerProductSpace.rankOne_def']41exact (isCompactOperator_of_locallyCompactSpace_dom42(innerSL ℂ y)).clm_comp43(ContinuousLinearMap.toSpanSingleton ℂ x)4445theorem map_one_eq_one_of_isCompactOperatorModel [Nontrivial H]46[CStarAlgebra A]47(e : A →⋆ₙₐ[ℂ] (H →L[ℂ] H)) (he : IsCompactOperatorModel e) : e 1 = 1 := by48apply ContinuousLinearMap.ext49intro x50change e 1 x = x51obtain ⟨y, hy⟩ := exists_norm_ne_zero H52let z : H := ‖y‖⁻¹ • y53have hz : ‖z‖ = 1 := by54dsimp [z]55simp [norm_smul, inv_mul_cancel₀ hy]56let T : H →L[ℂ] H := InnerProductSpace.rankOne ℂ x z57obtain ⟨a, ha⟩ := he.2.2 T (isCompactOperator_rankOne x z)58have hleft : e 1 * T = T := by59rw [← ha, ← map_mul, one_mul]60have hTz : T z = x := by61simp [T, InnerProductSpace.rankOne_apply,62inner_self_eq_norm_sq_to_K, hz]63calc64e 1 x = e 1 (T z) := congrArg (e 1) hTz.symm65_ = (e 1 * T) z := rfl66_ = T z := congrArg (fun S : H →L[ℂ] H => S z) hleft67_ = x := hTz6869/-- A nonzero unital infinite-dimensional C-star algebra cannot be70star-isomorphic to the compact operators on any Hilbert space, including the71zero Hilbert space. -/72theorem not_isCompactOperatorModel_of_infiniteDimensional73[CStarAlgebra A] [Nontrivial A] (hA : ¬ FiniteDimensional ℂ A)74(e : A →⋆ₙₐ[ℂ] (H →L[ℂ] H)) : ¬ IsCompactOperatorModel e := by75intro he76have hH : ¬ Subsingleton H := by77intro hsub78letI : Subsingleton H := hsub79have hmap : e (1 : A) = e 0 := Subsingleton.elim _ _80exact one_ne_zero (he.1 hmap)81letI : Nontrivial H := not_subsingleton_iff_nontrivial.mp hH82have hone := map_one_eq_one_of_isCompactOperatorModel e he83have hcompact_one : IsCompactOperator ((1 : H →L[ℂ] H) : H → H) := by84rw [← hone]85exact he.2.1 186haveI : FiniteDimensional ℂ H := by87apply FiniteDimensional.of_isCompactOperator_id88change IsCompactOperator (fun x : H => x)89exact hcompact_one90haveI : FiniteDimensional ℂ (H →L[ℂ] H) :=91ContinuousLinearMap.finiteDimensional92exact hA93(FiniteDimensional.of_injective (LinearMapClass.linearMap e) he.1)9495end MathlibAnnex.Analysis.CStarAlgebra