@@ -5,8 +5,12 @@ Authors: Frédéric Dupuis, Heather Macbeth
55-/
66module
77
8+ public import Mathlib.Algebra.Star.UnitaryStarAlgAut
89public import Mathlib.Analysis.InnerProductSpace.Dual
910public import Mathlib.Analysis.InnerProductSpace.PiL2
11+ public import Mathlib.Analysis.LocallyConvex.SeparatingDual
12+
13+ import Mathlib.Algebra.Central.Basic
1014
1115/-!
1216# Adjoint of operators on Hilbert spaces
@@ -713,7 +717,11 @@ namespace LinearIsometryEquiv
713717
714718open ContinuousLinearMap ContinuousLinearEquiv in
715719/-- An isometric linear equivalence of two Hilbert spaces induces an equivalence of
716- ⋆-algebras of their endomorphisms. -/
720+ ⋆-algebras of their endomorphisms.
721+
722+ When `H = K`, this is exactly `Unitary.conjStarAlgAut`
723+ (see `Unitary.conjStarAlgEquiv_unitaryLinearIsometryEquiv` and
724+ `Unitary.conjStarAlgAut_symm_unitaryLinearIsometryEquiv`). -/
717725def conjStarAlgEquiv (e : H ≃ₗᵢ[𝕜] K) : (H →L[𝕜] H) ≃⋆ₐ[𝕜] (K →L[𝕜] K) :=
718726 .ofAlgEquiv e.toContinuousLinearEquiv.conjContinuousAlgEquiv fun x ↦ by
719727 simp [star_eq_adjoint, conjContinuousAlgEquiv_apply, ← toContinuousLinearEquiv_symm, comp_assoc]
@@ -736,6 +744,33 @@ theorem conjStarAlgEquiv_trans {G : Type*} [NormedAddCommGroup G] [InnerProductS
736744 [CompleteSpace G] (e : H ≃ₗᵢ[𝕜] K) (f : K ≃ₗᵢ[𝕜] G) :
737745 (e.trans f).conjStarAlgEquiv = e.conjStarAlgEquiv.trans f.conjStarAlgEquiv := rfl
738746
747+ open ContinuousLinearEquiv ContinuousLinearMap in
748+ theorem conjStarAlgEquiv_ext_iff (f g : H ≃ₗᵢ[𝕜] K) :
749+ f.conjStarAlgEquiv = g.conjStarAlgEquiv ↔ ∃ α : unitary 𝕜, f = α • g := by
750+ conv_lhs => rw [eq_comm]
751+ simp_rw [StarAlgEquiv.ext_iff, LinearIsometryEquiv.ext_iff, conjStarAlgEquiv_apply,
752+ ← eq_toContinuousLinearMap_symm_comp, ← comp_assoc, toContinuousLinearEquiv_symm,
753+ eq_comp_toContinuousLinearMap_symm,
754+ comp_assoc, ← comp_assoc _ (f : H →L[𝕜] K), comp_coe, ← ContinuousLinearMap.mul_def,
755+ ← Subalgebra.mem_center_iff (R := 𝕜), Algebra.IsCentral.center_eq_bot, ← comp_coe,
756+ Algebra.mem_bot, Set.mem_range, Algebra.algebraMap_eq_smul_one]
757+ refine ⟨fun ⟨y, h⟩ ↦ ?_, fun ⟨y, h⟩ ↦ ⟨(y : 𝕜), by ext; simp [h]⟩⟩
758+ by_cases! hy : y = 0
759+ · exact ⟨1 , fun x ↦ by simp [by simpa [hy] using congr($h x).symm]⟩
760+ have hfg : (f : H →L[𝕜] K) = y • g := by ext; simpa using congr(g ($h _)).symm
761+ have hgf : (g : H →L[𝕜] K) = star y • f := by
762+ ext x
763+ have := by simpa [map_smulₛₗ, ← ContinuousLinearEquiv.comp_coe, ← toContinuousLinearEquiv_symm,
764+ ← adjoint_eq_symm, ContinuousLinearMap.one_def] using congr(f (adjoint $h x)).symm
765+ simpa
766+ have : (g : H →L[𝕜] K) = (starRingEnd 𝕜 y * y) • g := by
767+ simp [← smul_smul, ← hfg, ← star_def, ← hgf]
768+ nth_rw 1 [← one_smul 𝕜 (g : H →L[𝕜] K)] at this
769+ rw [← sub_eq_zero, ← sub_smul, smul_eq_zero, sub_eq_zero, eq_comm] at this
770+ obtain (this | this) := this
771+ · exact ⟨⟨y, by simp [Unitary.mem_iff, this, mul_comm y]⟩, fun x ↦ congr($hfg x)⟩
772+ · exact ⟨1 , fun x ↦ by simp [by simpa using congr($this x)]⟩
773+
739774end LinearIsometryEquiv
740775end linearIsometryEquiv
741776
@@ -785,6 +820,13 @@ lemma coe_symm_linearIsometryEquiv_apply (e : H ≃ₗᵢ[𝕜] H) :
785820@ [deprecated (since := "2025-12-16" )] alias linearIsometryEquiv_coe_symm_apply :=
786821 coe_symm_linearIsometryEquiv_apply
787822
823+ theorem conjStarAlgEquiv_unitaryLinearIsometryEquiv (u : unitary (H →L[𝕜] H)) :
824+ (linearIsometryEquiv u).conjStarAlgEquiv = conjStarAlgAut 𝕜 _ u := rfl
825+
826+ theorem conjStarAlgAut_symm_unitaryLinearIsometryEquiv (u : H ≃ₗᵢ[𝕜] H) :
827+ conjStarAlgAut 𝕜 _ (linearIsometryEquiv.symm u) = u.conjStarAlgEquiv := by
828+ simp [← conjStarAlgEquiv_unitaryLinearIsometryEquiv]
829+
788830end Unitary
789831
790832namespace unitary
0 commit comments