@@ -24,7 +24,7 @@ open Topology
2424open scoped NNReal
2525
2626-- the `ₗ` subscript variables are for special cases about linear (as opposed to semilinear) maps
27- variable {𝕜 𝕜₂ 𝕜₃ E F Fₗ G : Type *}
27+ variable {𝕜 𝕜₁ 𝕜 ₂ 𝕜₃ E F Fₗ G : Type *}
2828
2929section SeminormedAddCommGroup
3030variable [SeminormedAddCommGroup E] [SeminormedAddCommGroup F] [SeminormedAddCommGroup G]
@@ -182,33 +182,15 @@ end ContinuousLinearMap
182182end
183183
184184namespace ContinuousLinearMap
185-
186- variable [NontriviallyNormedField 𝕜] [NontriviallyNormedField 𝕜₂] [NontriviallyNormedField 𝕜₃]
187- [NormedSpace 𝕜 E] [NormedSpace 𝕜₂ F] [NormedSpace 𝕜₃ G] [NormedSpace 𝕜 Fₗ]
188- {σ₂₃ : 𝕜₂ →+* 𝕜₃}
189-
190- variable {𝕜₂' : Type *} [NontriviallyNormedField 𝕜₂'] {F' : Type *} [NormedAddCommGroup F']
191- [NormedSpace 𝕜₂' F'] {σ₂' : 𝕜₂' →+* 𝕜₂} {σ₂'' : 𝕜₂ →+* 𝕜₂'} {σ₂₃' : 𝕜₂' →+* 𝕜₃}
192- [RingHomInvPair σ₂' σ₂''] [RingHomInvPair σ₂'' σ₂'] [RingHomCompTriple σ₂' σ₂₃ σ₂₃']
193- [RingHomCompTriple σ₂'' σ₂₃' σ₂₃] [RingHomIsometric σ₂₃] [RingHomIsometric σ₂']
194- [RingHomIsometric σ₂''] [RingHomIsometric σ₂₃']
195-
196- /-- Precomposition with a linear isometry preserves the operator norm. -/
197- theorem opNorm_comp_linearIsometryEquiv (f : F →SL[σ₂₃] G) (g : F' ≃ₛₗᵢ[σ₂'] F) :
198- ‖f.comp g.toLinearIsometry.toContinuousLinearMap‖ = ‖f‖ := by
199- cases subsingleton_or_nontrivial F'
200- · haveI := g.symm.toLinearEquiv.toEquiv.subsingleton
201- simp
202- refine le_antisymm ?_ ?_
203- · convert! f.opNorm_comp_le g.toLinearIsometry.toContinuousLinearMap
204- simp [g.toLinearIsometry.norm_toContinuousLinearMap]
205- · convert!
206- (f.comp g.toLinearIsometry.toContinuousLinearMap).opNorm_comp_le
207- g.symm.toLinearIsometry.toContinuousLinearMap
208- · ext
209- simp
210- haveI := g.symm.surjective.nontrivial
211- simp [g.symm.toLinearIsometry.norm_toContinuousLinearMap]
185+ variable
186+ [NontriviallyNormedField 𝕜] [NormedSpace 𝕜 E] [NormedSpace 𝕜 Fₗ]
187+ [NontriviallyNormedField 𝕜₁] [NormedSpace 𝕜₁ E]
188+ [NontriviallyNormedField 𝕜₂] [NormedSpace 𝕜₂ F]
189+ [NontriviallyNormedField 𝕜₃] [NormedSpace 𝕜₃ G]
190+ {σ₁₂ : 𝕜₁ →+* 𝕜₂} {σ₂₁ : 𝕜₂ →+* 𝕜₁} [RingHomInvPair σ₁₂ σ₂₁] [RingHomInvPair σ₂₁ σ₁₂]
191+ {σ₂₃ : 𝕜₂ →+* 𝕜₃} {σ₃₂ : 𝕜₃ →+* 𝕜₂} [RingHomInvPair σ₂₃ σ₃₂] [RingHomInvPair σ₃₂ σ₂₃]
192+ {σ₁₃ : 𝕜₁ →+* 𝕜₃} [RingHomIsometric σ₁₃]
193+ [RingHomCompTriple σ₁₂ σ₂₃ σ₁₃]
212194
213195@[simp]
214196theorem norm_smulRightL (c : StrongDual 𝕜 E) [Nontrivial Fₗ] : ‖smulRightL 𝕜 E Fₗ c‖ = ‖c‖ :=
@@ -217,6 +199,50 @@ theorem norm_smulRightL (c : StrongDual 𝕜 E) [Nontrivial Fₗ] : ‖smulRight
217199lemma norm_smulRightL_le : ‖smulRightL 𝕜 E Fₗ‖ ≤ 1 :=
218200 LinearMap.mkContinuous₂_norm_le _ zero_le_one _
219201
202+ /-! ### Composition with isometries -/
203+
204+ /-- Precomposition with a linear isometry preserves the operator norm. -/
205+ @[simp]
206+ lemma opNNNorm_comp_linearIsometryEquiv [RingHomIsometric σ₂₃] (f : F →SL[σ₂₃] G)
207+ (e : E ≃ₛₗᵢ[σ₁₂] F) : ‖f.comp (e : E →SL[σ₁₂] F)‖₊ = ‖f‖₊ :=
208+ eq_of_forall_ge_iff fun r ↦ by simp [opNNNorm_le_iff, ← e.forall_congr_right]
209+
210+ /-- Postcomposition with a linear isometry preserves the operator norm. -/
211+ @[simp]
212+ lemma opNNNorm_linearIsometryEquiv_comp [RingHomIsometric σ₁₂] (e : F ≃ₛₗᵢ[σ₂₃] G)
213+ (f : E →SL[σ₁₂] F) : ‖(e : F →SL[σ₂₃] G).comp f‖₊ = ‖f‖₊ :=
214+ eq_of_forall_ge_iff fun r ↦ by simp [opNNNorm_le_iff]
215+
216+ /-- Precomposition with a linear isometry preserves the operator norm. -/
217+ @[simp]
218+ lemma opNorm_comp_linearIsometryEquiv [RingHomIsometric σ₂₃] (f : F →SL[σ₂₃] G)
219+ (e : E ≃ₛₗᵢ[σ₁₂] F) : ‖f.comp (e : E →SL[σ₁₂] F)‖ = ‖f‖ := by simp [← coe_nnnorm]
220+
221+ /-- Postcomposition with a linear isometry preserves the operator norm. -/
222+ @[simp]
223+ lemma opNorm_linearIsometryEquiv_comp [RingHomIsometric σ₁₂] (e : F ≃ₛₗᵢ[σ₂₃] G)
224+ (f : E →SL[σ₁₂] F) : ‖(e : F →SL[σ₂₃] G).comp f‖ = ‖f‖ := by simp [← coe_nnnorm]
225+
226+ /-- Precomposition with a linear isometry preserves the operator norm. -/
227+ @[simp]
228+ lemma opNNNorm_mul_linearIsometryEquiv (f : E →L[𝕜] E) (e : E ≃ₗᵢ[𝕜] E) : ‖f * e‖₊ = ‖f‖₊ :=
229+ opNNNorm_comp_linearIsometryEquiv ..
230+
231+ /-- Postcomposition with a linear isometry preserves the operator norm. -/
232+ @[simp]
233+ lemma opNNNorm_linearIsometryEquiv_mul (e : E ≃ₗᵢ[𝕜] E) (f : E →L[𝕜] E) : ‖e * f‖₊ = ‖f‖₊ :=
234+ opNNNorm_linearIsometryEquiv_comp ..
235+
236+ /-- Precomposition with a linear isometry preserves the operator norm. -/
237+ @[simp]
238+ lemma opNorm_mul_linearIsometryEquiv (f : E →L[𝕜] E) (e : E ≃ₗᵢ[𝕜] E) : ‖f * e‖ = ‖f‖ :=
239+ opNorm_comp_linearIsometryEquiv ..
240+
241+ /-- Postcomposition with a linear isometry preserves the operator norm. -/
242+ @[simp]
243+ lemma opNorm_linearIsometryEquiv_mul (e : E ≃ₗᵢ[𝕜] E) (f : E →L[𝕜] E) : ‖e * f‖ = ‖f‖ :=
244+ opNorm_linearIsometryEquiv_comp ..
245+
220246end ContinuousLinearMap
221247
222248namespace Submodule
0 commit comments