File: Mathlib/Analysis/CstarAlgebra/Matrix.lean

full_name: entry_norm_bound_of_unitary
code: theorem entry_norm_bound_of_unitary {U : Matrix n n 𝕜} (hU : U ∈ Matrix.unitaryGroup n 𝕜)
    (i j : n) : ‖U i j‖ ≤ 1 
goal: ‖U i j‖ ≤ 1

full_name: entrywise_sup_norm_bound_of_unitary
code: /-- The entrywise sup norm of a unitary matrix is at most 1. -/
theorem entrywise_sup_norm_bound_of_unitary {U : Matrix n n 𝕜} (hU : U ∈ Matrix.unitaryGroup n 𝕜) :
    ‖U‖ ≤ 1 
goal: ‖U‖ ≤ 1

full_name: Matrix.toEuclideanCLM
code: /-- The natural star algebra equivalence between matrices and continuous linear endomoporphisms
of Euclidean space induced by the orthonormal basis `EuclideanSpace.basisFun`.

This is a more-bundled version of `Matrix.toEuclideanLin`, for the special case of square matrices,
followed by a more-bundled version of `LinearMap.toContinuousLinearMap`. -/
def toEuclideanCLM :
    Matrix n n 𝕜 ≃⋆ₐ[𝕜] (EuclideanSpace 𝕜 n →L[𝕜] EuclideanSpace 𝕜 n) 
goal: Matrix n n 𝕜 ≃⋆ₐ[𝕜] EuclideanSpace 𝕜 n →L[𝕜] EuclideanSpace 𝕜 n

full_name: Matrix.coe_toEuclideanCLM_eq_toEuclideanLin
code: lemma coe_toEuclideanCLM_eq_toEuclideanLin (A : Matrix n n 𝕜) :
    (toEuclideanCLM (n := n) (𝕜 := 𝕜) A : _ →ₗ[𝕜] _) = toEuclideanLin A 
goal: ↑(Matrix.toEuclideanCLM A) = Matrix.toEuclideanLin A

full_name: Matrix.toEuclideanCLM_piLp_equiv_symm
code: @[simp]
lemma toEuclideanCLM_piLp_equiv_symm (A : Matrix n n 𝕜) (x : n → 𝕜) :
    toEuclideanCLM (n := n) (𝕜 := 𝕜) A ((WithLp.equiv _ _).symm x) =
      (WithLp.equiv _ _).symm (toLin' A x) 
goal: (Matrix.toEuclideanCLM A) ((WithLp.equiv 2 ((i : n) → (fun x => 𝕜) i)).symm x) =
  (WithLp.equiv 2 (n → 𝕜)).symm ((Matrix.toLin' A) x)

full_name: Matrix.piLp_equiv_toEuclideanCLM
code: @[simp]
lemma piLp_equiv_toEuclideanCLM (A : Matrix n n 𝕜) (x : EuclideanSpace 𝕜 n) :
    WithLp.equiv _ _ (toEuclideanCLM (n := n) (𝕜 := 𝕜) A x) =
      toLin' A (WithLp.equiv _ _ x) 
goal: (WithLp.equiv 2 ((i : n) → (fun x => 𝕜) i)) ((Matrix.toEuclideanCLM A) x) =
  (Matrix.toLin' A) ((WithLp.equiv 2 (n → 𝕜)) x)

full_name: Matrix.l2OpNormedAddCommGroupAux
code: /-- An auxiliary definition used only to construct the true `NormedAddCommGroup` (and `Metric`)
structure provided by `Matrix.instMetricSpaceL2Op` and `Matrix.instNormedAddCommGroupL2Op`.  -/
def l2OpNormedAddCommGroupAux : NormedAddCommGroup (Matrix m n 𝕜) 
goal: NormedAddCommGroup (Matrix m n 𝕜)

full_name: Matrix.l2OpNormedRingAux
code: /-- An auxiliary definition used only to construct the true `NormedRing` (and `Metric`) structure
provided by `Matrix.instMetricSpaceL2Op` and `Matrix.instNormedRingL2Op`.  -/
def l2OpNormedRingAux : NormedRing (Matrix n n 𝕜) 
goal: NormedRing (Matrix n n 𝕜)

full_name: Matrix.instL2OpMetricSpace
code: /-- The metric on `Matrix m n 𝕜` arising from the operator norm given by the identification with
(continuous) linear maps of `EuclideanSpace`. -/
def instL2OpMetricSpace : MetricSpace (Matrix m n 𝕜) 
goal: MetricSpace (Matrix m n 𝕜)

full_name: Matrix.instL2OpNormedAddCommGroup
code: /-- The norm structure on `Matrix m n 𝕜` arising from the operator norm given by the identification
with (continuous) linear maps of `EuclideanSpace`. -/
def instL2OpNormedAddCommGroup : NormedAddCommGroup (Matrix m n 𝕜) 
goal: NormedAddCommGroup (Matrix m n 𝕜)

full_name: Matrix.l2_opNorm_def
code: lemma l2_opNorm_def (A : Matrix m n 𝕜) :
    ‖A‖ = ‖(toEuclideanLin (𝕜 := 𝕜) (m := m) (n := n)).trans toContinuousLinearMap A‖ 
goal: ‖A‖ = ‖(Matrix.toEuclideanLin ≪≫ₗ LinearMap.toContinuousLinearMap) A‖

full_name: Matrix.l2_opNNNorm_def
code: lemma l2_opNNNorm_def (A : Matrix m n 𝕜) :
    ‖A‖₊ = ‖(toEuclideanLin (𝕜 := 𝕜) (m := m) (n := n)).trans toContinuousLinearMap A‖₊ 
goal: ‖A‖₊ = ‖(Matrix.toEuclideanLin ≪≫ₗ LinearMap.toContinuousLinearMap) A‖₊

full_name: Matrix.l2_opNorm_conjTranspose
code: lemma l2_opNorm_conjTranspose [DecidableEq m] (A : Matrix m n 𝕜) : ‖Aᴴ‖ = ‖A‖ 
goal: ‖Aᴴ‖ = ‖A‖

full_name: Matrix.l2_opNNNorm_conjTranspose
code: lemma l2_opNNNorm_conjTranspose [DecidableEq m] (A : Matrix m n 𝕜) : ‖Aᴴ‖₊ = ‖A‖₊ 
goal: ‖Aᴴ‖₊ = ‖A‖₊

full_name: Matrix.l2_opNorm_conjTranspose_mul_self
code: lemma l2_opNorm_conjTranspose_mul_self (A : Matrix m n 𝕜) : ‖Aᴴ * A‖ = ‖A‖ * ‖A‖ 
goal: ‖Aᴴ * A‖ = ‖A‖ * ‖A‖

full_name: Matrix.l2_opNNNorm_conjTranspose_mul_self
code: lemma l2_opNNNorm_conjTranspose_mul_self (A : Matrix m n 𝕜) : ‖Aᴴ * A‖₊ = ‖A‖₊ * ‖A‖₊ 
goal: ‖Aᴴ * A‖₊ = ‖A‖₊ * ‖A‖₊

full_name: Matrix.l2_opNorm_mulVec
code: lemma l2_opNorm_mulVec (A : Matrix m n 𝕜) (x : EuclideanSpace 𝕜 n) :
    ‖(EuclideanSpace.equiv m 𝕜).symm <| A *ᵥ x‖ ≤ ‖A‖ * ‖x‖ 
goal: ‖(EuclideanSpace.equiv m 𝕜).symm (A *ᵥ x)‖ ≤ ‖A‖ * ‖x‖

full_name: Matrix.l2_opNNNorm_mulVec
code: lemma l2_opNNNorm_mulVec (A : Matrix m n 𝕜) (x : EuclideanSpace 𝕜 n) :
    ‖(EuclideanSpace.equiv m 𝕜).symm <| A *ᵥ x‖₊ ≤ ‖A‖₊ * ‖x‖₊ 
goal: ‖(EuclideanSpace.equiv m 𝕜).symm (A *ᵥ x)‖₊ ≤ ‖A‖₊ * ‖x‖₊

full_name: Matrix.l2_opNorm_mul
code: lemma l2_opNorm_mul (A : Matrix m n 𝕜) (B : Matrix n l 𝕜) :
    ‖A * B‖ ≤ ‖A‖ * ‖B‖ 
goal: ‖A * B‖ ≤ ‖A‖ * ‖B‖

full_name: Matrix.l2_opNNNorm_mul
code: lemma l2_opNNNorm_mul (A : Matrix m n 𝕜) (B : Matrix n l 𝕜) : ‖A * B‖₊ ≤ ‖A‖₊ * ‖B‖₊ 
goal: ‖A * B‖₊ ≤ ‖A‖₊ * ‖B‖₊

full_name: Matrix.instL2OpNormedSpace
code: /-- The normed algebra structure on `Matrix n n 𝕜` arising from the operator norm given by the
identification with (continuous) linear endmorphisms of `EuclideanSpace 𝕜 n`. -/
def instL2OpNormedSpace : NormedSpace 𝕜 (Matrix m n 𝕜) 
goal: NormedSpace 𝕜 (Matrix m n 𝕜)

full_name: Matrix.instL2OpNormedRing
code: /-- The normed ring structure on `Matrix n n 𝕜` arising from the operator norm given by the
identification with (continuous) linear endmorphisms of `EuclideanSpace 𝕜 n`. -/
def instL2OpNormedRing : NormedRing (Matrix n n 𝕜) 
goal: NormedRing (Matrix n n 𝕜)

full_name: Matrix.cstar_norm_def
code: /-- This is the same as `Matrix.l2_opNorm_def`, but with a more bundled RHS for square matrices. -/
lemma cstar_norm_def (A : Matrix n n 𝕜) : ‖A‖ = ‖toEuclideanCLM (n := n) (𝕜 := 𝕜) A‖ 
goal: ‖A‖ = ‖Matrix.toEuclideanCLM A‖

full_name: Matrix.cstar_nnnorm_def
code: /-- This is the same as `Matrix.l2_opNNNorm_def`, but with a more bundled RHS for square
matrices. -/
lemma cstar_nnnorm_def (A : Matrix n n 𝕜) : ‖A‖₊ = ‖toEuclideanCLM (n := n) (𝕜 := 𝕜) A‖₊ 
goal: ‖A‖₊ = ‖Matrix.toEuclideanCLM A‖₊

full_name: Matrix.instL2OpNormedAlgebra
code: /-- The normed algebra structure on `Matrix n n 𝕜` arising from the operator norm given by the
identification with (continuous) linear endmorphisms of `EuclideanSpace 𝕜 n`. -/
def instL2OpNormedAlgebra : NormedAlgebra 𝕜 (Matrix n n 𝕜) 
goal: NormedAlgebra 𝕜 (Matrix n n 𝕜)

full_name: Matrix.instCstarRing
code: /-- The operator norm on `Matrix n n 𝕜` given by the identification with (continuous) linear
endmorphisms of `EuclideanSpace 𝕜 n` makes it into a `L2OpRing`. -/
lemma instCstarRing : CstarRing (Matrix n n 𝕜) 
goal: CstarRing (Matrix n n 𝕜)