Documentation

LeanPool.Monlib4.LinearAlgebra.InnerAut

Inner Automorphisms #

This file ports the upstream monlib4 unitary inner-automorphism interface. In current Mathlib the general star-algebra automorphism by unitary conjugation is available as Unitary.conjStarAlgAut; the declarations here keep monlib4's names for the matrix-algebra specialization and its trace, spectrum, and Hermitian-preservation lemmas.

theorem RCLike.neg_ofReal {๐•œ : Type u_1} [RCLike ๐•œ] (a : โ„) :
โ†‘a < 0 โ†” a < 0
@[implicit_reducible]
instance Pi.coe {k : Type u_1} {s : k โ†’ Type u_2} {r : k โ†’ Type u_3} [(i : k) โ†’ CoeTC (s i) (r i)] :
CoeTC ((i : k) โ†’ s i) ((i : k) โ†’ r i)
Equations
theorem Pi.coe_eq {k : Type u_1} {s : k โ†’ Type u_2} {r : k โ†’ Type u_3} [(i : k) โ†’ CoeTC (s i) (r i)] (U : (i : k) โ†’ s i) :
(fun (i : k) => CoeTC.coe (U i)) โ‰ fun (i : k) => CoeTC.coe (U i)
@[simp]
theorem StarAlgEquiv.trace_preserving {n : Type u_2} {๐•œ : Type u_1} [Fintype n] [Field ๐•œ] [StarRing ๐•œ] (f : Matrix n n ๐•œ โ‰ƒโ‹†โ‚[๐•œ] Matrix n n ๐•œ) (x : Matrix n n ๐•œ) :
(f x).trace = x.trace
@[reducible, inline]
abbrev unitary.innerAutStarAlg (K : Type u_1) {R : Type u_2} [Semiring R] [StarMul R] [SMul K R] [IsScalarTower K R R] [SMulCommClass K R R] (a : โ†ฅ(unitary R)) :

The star-algebra automorphism given by conjugation with a unitary element.

Equations
Instances For
    theorem unitary.innerAutStarAlg_apply {K : Type u_1} {R : Type u_2} [Semiring R] [StarMul R] [SMul K R] [IsScalarTower K R R] [SMulCommClass K R R] (U : โ†ฅ(unitary R)) (x : R) :
    (innerAutStarAlg K U) x = โ†‘U * x * โ†‘(star U)
    theorem unitary.innerAutStarAlg_apply' {K : Type u_1} {R : Type u_2} [Semiring R] [StarMul R] [SMul K R] [IsScalarTower K R R] [SMulCommClass K R R] (U : โ†ฅ(unitary R)) (x : R) :
    (innerAutStarAlg K U) x = โ†‘U * x * โ†‘Uโปยน
    theorem unitary.innerAutStarAlg_apply'' {K : Type u_1} {R : Type u_2} [Semiring R] [StarMul R] [SMul K R] [IsScalarTower K R R] [SMulCommClass K R R] (U : โ†ฅ(unitary R)) (x : R) :
    (innerAutStarAlg K U) x = โ†‘U * x * star โ†‘U
    theorem unitary.innerAutStarAlg_symm_apply {K : Type u_1} {R : Type u_2} [Semiring R] [StarMul R] [SMul K R] [IsScalarTower K R R] [SMulCommClass K R R] (U : โ†ฅ(unitary R)) (x : R) :
    (innerAutStarAlg K U).symm x = โ†‘(star U) * x * โ†‘U
    theorem unitary.innerAutStarAlg_symm_apply' {K : Type u_1} {R : Type u_2} [Semiring R] [StarMul R] [SMul K R] [IsScalarTower K R R] [SMulCommClass K R R] (U : โ†ฅ(unitary R)) (x : R) :
    (innerAutStarAlg K U).symm x = โ†‘Uโปยน * x * โ†‘U
    theorem unitary.innerAutStarAlg_symm_apply'' {K : Type u_1} {R : Type u_2} [Semiring R] [StarMul R] [SMul K R] [IsScalarTower K R R] [SMulCommClass K R R] (U : โ†ฅ(unitary R)) (x : R) :
    (innerAutStarAlg K U).symm x = star โ†‘U * x * โ†‘U
    theorem unitary.innerAutStarAlg_symm {K : Type u_1} {R : Type u_2} [Semiring R] [StarMul R] [SMul K R] [IsScalarTower K R R] [SMulCommClass K R R] (U : โ†ฅ(unitary R)) :
    theorem unitary.innerAutStarAlg_symm' {K : Type u_1} {R : Type u_2} [Semiring R] [StarMul R] [SMul K R] [IsScalarTower K R R] [SMulCommClass K R R] (U : โ†ฅ(unitary R)) :
    @[implicit_reducible]
    instance unitary.instCoeTCSubtypeMemSubmonoidLeanPool (R : Type u_1) [Monoid R] [StarMul R] :
    CoeTC (โ†ฅ(unitary R)) R
    Equations
    theorem unitary.pi_mem {k : Type u_1} {s : k โ†’ Type u_2} [(i : k) โ†’ Semiring (s i)] [(i : k) โ†’ StarMul (s i)] (U : (i : k) โ†’ โ†ฅ(unitary (s i))) :
    (fun (i : k) => โ†‘(U i)) โˆˆ unitary ((i : k) โ†’ s i)
    @[reducible, inline]
    abbrev unitary.pi {k : Type u_1} {s : k โ†’ Type u_2} [(i : k) โ†’ Semiring (s i)] [(i : k) โ†’ StarMul (s i)] (U : (i : k) โ†’ โ†ฅ(unitary (s i))) :
    โ†ฅ(unitary ((i : k) โ†’ s i))

    Build a unitary element of a dependent function type from pointwise unitaries.

    Equations
    Instances For
      theorem unitary.pi_apply {k : Type u_1} {s : k โ†’ Type u_2} [(i : k) โ†’ Semiring (s i)] [(i : k) โ†’ StarMul (s i)] (U : (i : k) โ†’ โ†ฅ(unitary (s i))) {i : k} :
      โ†‘(pi U) i = โ†‘(U i)
      theorem Matrix.unitaryGroup.coe_hMul_star_self {n : Type u_1} {๐•œ : Type u_2} [Fintype n] [Field ๐•œ] [StarRing ๐•œ] [DecidableEq n] (a : โ†ฅ(unitaryGroup n ๐•œ)) :
      โ†‘(a * star a) = 1
      theorem Matrix.unitaryGroup.star_coe_eq_coe_star {n : Type u_1} {๐•œ : Type u_2} [Fintype n] [Field ๐•œ] [StarRing ๐•œ] [DecidableEq n] (U : โ†ฅ(unitaryGroup n ๐•œ)) :
      star โ†‘U = โ†‘(star U)
      @[reducible, inline]
      abbrev Matrix.innerAutStarAlg {n : Type u_1} {๐•œ : Type u_2} [Fintype n] [Field ๐•œ] [StarRing ๐•œ] [DecidableEq n] (a : โ†ฅ(unitaryGroup n ๐•œ)) :
      Matrix n n ๐•œ โ‰ƒโ‹†โ‚[๐•œ] Matrix n n ๐•œ

      The star-algebra automorphism x โ†ฆ U * x * Uโปยน.

      Equations
      Instances For
        theorem Matrix.innerAutStarAlg_apply {n : Type u_1} {๐•œ : Type u_2} [Fintype n] [Field ๐•œ] [StarRing ๐•œ] [DecidableEq n] (U : โ†ฅ(unitaryGroup n ๐•œ)) (x : Matrix n n ๐•œ) :
        (innerAutStarAlg U) x = โ†‘U * x * โ†‘(star U)
        theorem Matrix.innerAutStarAlg_apply' {n : Type u_1} {๐•œ : Type u_2} [Fintype n] [Field ๐•œ] [StarRing ๐•œ] [DecidableEq n] (U : โ†ฅ(unitaryGroup n ๐•œ)) (x : Matrix n n ๐•œ) :
        (innerAutStarAlg U) x = โ†‘U * x * โ†‘Uโปยน
        theorem Matrix.innerAutStarAlg_symm_apply {n : Type u_1} {๐•œ : Type u_2} [Fintype n] [Field ๐•œ] [StarRing ๐•œ] [DecidableEq n] (U : โ†ฅ(unitaryGroup n ๐•œ)) (x : Matrix n n ๐•œ) :
        (innerAutStarAlg U).symm x = โ†‘(star U) * x * โ†‘U
        theorem Matrix.innerAutStarAlg_symm_apply' {n : Type u_1} {๐•œ : Type u_2} [Fintype n] [Field ๐•œ] [StarRing ๐•œ] [DecidableEq n] (U : โ†ฅ(unitaryGroup n ๐•œ)) (x : Matrix n n ๐•œ) :
        (innerAutStarAlg U).symm x = โ†‘Uโปยน * x * โ†‘U
        theorem Matrix.innerAutStarAlg_symm {n : Type u_1} {๐•œ : Type u_2} [Fintype n] [Field ๐•œ] [StarRing ๐•œ] [DecidableEq n] (U : โ†ฅ(unitaryGroup n ๐•œ)) :
        @[reducible, inline]
        abbrev Matrix.innerAut {n : Type u_1} {๐•œ : Type u_2} [Fintype n] [Field ๐•œ] [StarRing ๐•œ] [DecidableEq n] (U : โ†ฅ(unitaryGroup n ๐•œ)) :
        Matrix n n ๐•œ โ†’โ‚—[๐•œ] Matrix n n ๐•œ

        The unitary inner automorphism as a linear map.

        Equations
        Instances For
          @[simp]
          theorem Matrix.innerAut_coe {n : Type u_1} {๐•œ : Type u_2} [Fintype n] [Field ๐•œ] [StarRing ๐•œ] [DecidableEq n] (U : โ†ฅ(unitaryGroup n ๐•œ)) :
          โ‡‘(innerAut U) = โ‡‘(innerAutStarAlg U)
          theorem Matrix.innerAut_inv_coe {n : Type u_1} {๐•œ : Type u_2} [Fintype n] [Field ๐•œ] [StarRing ๐•œ] [DecidableEq n] (U : โ†ฅ(unitaryGroup n ๐•œ)) :
          theorem Matrix.innerAut_apply {n : Type u_1} {๐•œ : Type u_2} [Fintype n] [Field ๐•œ] [StarRing ๐•œ] [DecidableEq n] (U : โ†ฅ(unitaryGroup n ๐•œ)) (x : Matrix n n ๐•œ) :
          (innerAut U) x = โ†‘U * x * โ†‘Uโปยน
          theorem Matrix.innerAut_apply' {n : Type u_1} {๐•œ : Type u_2} [Fintype n] [Field ๐•œ] [StarRing ๐•œ] [DecidableEq n] (U : โ†ฅ(unitaryGroup n ๐•œ)) (x : Matrix n n ๐•œ) :
          (innerAut U) x = โ†‘U * x * โ†‘(star U)
          theorem Matrix.innerAut_inv_apply {n : Type u_1} {๐•œ : Type u_2} [Fintype n] [Field ๐•œ] [StarRing ๐•œ] [DecidableEq n] (U : โ†ฅ(unitaryGroup n ๐•œ)) (x : Matrix n n ๐•œ) :
          (innerAut Uโปยน) x = โ†‘Uโปยน * x * โ†‘U
          theorem Matrix.innerAut_star_apply {n : Type u_1} {๐•œ : Type u_2} [Fintype n] [Field ๐•œ] [StarRing ๐•œ] [DecidableEq n] (U : โ†ฅ(unitaryGroup n ๐•œ)) (x : Matrix n n ๐•œ) :
          (innerAut (star U)) x = โ†‘(star U) * x * โ†‘U
          theorem Matrix.innerAut_conjTranspose {n : Type u_1} {๐•œ : Type u_2} [Fintype n] [Field ๐•œ] [StarRing ๐•œ] [DecidableEq n] (U : โ†ฅ(unitaryGroup n ๐•œ)) (x : Matrix n n ๐•œ) :
          theorem Matrix.innerAut_comp_innerAut {n : Type u_1} {๐•œ : Type u_2} [Fintype n] [Field ๐•œ] [StarRing ๐•œ] [DecidableEq n] (Uโ‚ Uโ‚‚ : โ†ฅ(unitaryGroup n ๐•œ)) :
          innerAut Uโ‚ โˆ˜โ‚— innerAut Uโ‚‚ = innerAut (Uโ‚ * Uโ‚‚)
          theorem Matrix.innerAut_apply_innerAut {n : Type u_1} {๐•œ : Type u_2} [Fintype n] [Field ๐•œ] [StarRing ๐•œ] [DecidableEq n] (Uโ‚ Uโ‚‚ : โ†ฅ(unitaryGroup n ๐•œ)) (x : Matrix n n ๐•œ) :
          (innerAut Uโ‚) ((innerAut Uโ‚‚) x) = (innerAut (Uโ‚ * Uโ‚‚)) x
          theorem Matrix.innerAut_eq_iff {n : Type u_1} {๐•œ : Type u_2} [Fintype n] [Field ๐•œ] [StarRing ๐•œ] [DecidableEq n] (U : โ†ฅ(unitaryGroup n ๐•œ)) (x y : Matrix n n ๐•œ) :
          theorem Matrix.unitaryGroup.toLinearEquiv_apply {n : Type u_1} {๐•œ : Type u_2} [Fintype n] [Field ๐•œ] [StarRing ๐•œ] [DecidableEq n] (U : โ†ฅ(unitaryGroup n ๐•œ)) (x : n โ†’ ๐•œ) :
          theorem Matrix.unitaryGroup.toLinearEquiv_eq {n : Type u_1} {๐•œ : Type u_2} [Fintype n] [Field ๐•œ] [StarRing ๐•œ] [DecidableEq n] (U : โ†ฅ(unitaryGroup n ๐•œ)) (x : n โ†’ ๐•œ) :
          theorem Matrix.unitaryGroup.toLin'_apply {n : Type u_1} {๐•œ : Type u_2} [Fintype n] [Field ๐•œ] [StarRing ๐•œ] [DecidableEq n] (U : โ†ฅ(unitaryGroup n ๐•œ)) (x : n โ†’ ๐•œ) :
          (UnitaryGroup.toLin' U) x = (โ†‘U).mulVec x
          theorem Matrix.unitaryGroup.toLin'_eq {n : Type u_1} {๐•œ : Type u_2} [Fintype n] [Field ๐•œ] [StarRing ๐•œ] [DecidableEq n] (U : โ†ฅ(unitaryGroup n ๐•œ)) (x : n โ†’ ๐•œ) :
          (UnitaryGroup.toLin' U) x = (toLin' โ†‘U) x
          theorem Matrix.toLinAlgEquiv'_apply' {n : Type u_1} {๐•œ : Type u_2} [Fintype n] [Field ๐•œ] [DecidableEq n] (x : Matrix n n ๐•œ) :
          theorem Matrix.innerAut.spectrum_eq {n : Type u_1} {๐•œ : Type u_2} [Fintype n] [Field ๐•œ] [StarRing ๐•œ] [DecidableEq n] (U : โ†ฅ(unitaryGroup n ๐•œ)) (x : Matrix n n ๐•œ) :
          spectrum ๐•œ (toLin' ((innerAut U) x)) = spectrum ๐•œ (toLin' x)

          The spectrum of U * x * Uโปยน is the spectrum of x.

          theorem Matrix.innerAut_one {n : Type u_1} {๐•œ : Type u_2} [Fintype n] [Field ๐•œ] [StarRing ๐•œ] [DecidableEq n] :
          theorem Matrix.innerAut_comp_innerAut_inv {n : Type u_1} {๐•œ : Type u_2} [Fintype n] [Field ๐•œ] [StarRing ๐•œ] [DecidableEq n] (U : โ†ฅ(unitaryGroup n ๐•œ)) :
          theorem Matrix.innerAut_apply_innerAut_inv {n : Type u_1} {๐•œ : Type u_2} [Fintype n] [Field ๐•œ] [StarRing ๐•œ] [DecidableEq n] (Uโ‚ Uโ‚‚ : โ†ฅ(unitaryGroup n ๐•œ)) (x : Matrix n n ๐•œ) :
          (innerAut Uโ‚) ((innerAut Uโ‚‚โปยน) x) = (innerAut (Uโ‚ * Uโ‚‚โปยน)) x
          theorem Matrix.innerAut_apply_innerAut_inv_self {n : Type u_1} {๐•œ : Type u_2} [Fintype n] [Field ๐•œ] [StarRing ๐•œ] [DecidableEq n] (U : โ†ฅ(unitaryGroup n ๐•œ)) (x : Matrix n n ๐•œ) :
          theorem Matrix.innerAut_inv_apply_innerAut_self {n : Type u_1} {๐•œ : Type u_2} [Fintype n] [Field ๐•œ] [StarRing ๐•œ] [DecidableEq n] (U : โ†ฅ(unitaryGroup n ๐•œ)) (x : Matrix n n ๐•œ) :
          theorem Matrix.innerAut_apply_zero {n : Type u_1} {๐•œ : Type u_2} [Fintype n] [Field ๐•œ] [StarRing ๐•œ] [DecidableEq n] (U : โ†ฅ(unitaryGroup n ๐•œ)) :
          (innerAut U) 0 = 0
          theorem Matrix.innerAut_conj_spectrum_eq {n : Type u_1} {๐•œ : Type u_2} [Fintype n] [Field ๐•œ] [StarRing ๐•œ] [DecidableEq n] (U : โ†ฅ(unitaryGroup n ๐•œ)) (x : Matrix n n ๐•œ โ†’โ‚—[๐•œ] Matrix n n ๐•œ) :
          theorem Matrix.innerAut_apply_one {n : Type u_1} {๐•œ : Type u_2} [Fintype n] [Field ๐•œ] [StarRing ๐•œ] [DecidableEq n] (U : โ†ฅ(unitaryGroup n ๐•œ)) :
          (innerAut U) 1 = 1
          theorem Matrix.innerAutStarAlg_apply_eq_innerAut_apply {n : Type u_1} {๐•œ : Type u_2} [Fintype n] [Field ๐•œ] [StarRing ๐•œ] [DecidableEq n] (U : โ†ฅ(unitaryGroup n ๐•œ)) (x : Matrix n n ๐•œ) :
          theorem Matrix.innerAut.map_mul {n : Type u_1} {๐•œ : Type u_2} [Fintype n] [Field ๐•œ] [StarRing ๐•œ] [DecidableEq n] (U : โ†ฅ(unitaryGroup n ๐•œ)) (x y : Matrix n n ๐•œ) :
          (innerAut U) (x * y) = (innerAut U) x * (innerAut U) y
          theorem Matrix.innerAut.map_star {n : Type u_1} {๐•œ : Type u_2} [Fintype n] [Field ๐•œ] [StarRing ๐•œ] [DecidableEq n] (U : โ†ฅ(unitaryGroup n ๐•œ)) (x : Matrix n n ๐•œ) :
          star ((innerAut U) x) = (innerAut U) (star x)
          theorem Matrix.innerAut_inv_eq_star {n : Type u_1} {๐•œ : Type u_2} [Fintype n] [Field ๐•œ] [StarRing ๐•œ] [DecidableEq n] {x : โ†ฅ(unitaryGroup n ๐•œ)} :
          theorem Matrix.unitaryGroup.coe_inv {n : Type u_1} {๐•œ : Type u_2} [Fintype n] [Field ๐•œ] [StarRing ๐•œ] [DecidableEq n] (U : โ†ฅ(unitaryGroup n ๐•œ)) :
          โ†‘Uโปยน = (โ†‘U)โปยน
          theorem Matrix.innerAut.map_inv {n : Type u_1} {๐•œ : Type u_2} [Fintype n] [Field ๐•œ] [StarRing ๐•œ] [DecidableEq n] (U : โ†ฅ(unitaryGroup n ๐•œ)) (x : Matrix n n ๐•œ) :
          theorem Matrix.innerAut_apply_trace_eq {n : Type u_1} {๐•œ : Type u_2} [Fintype n] [Field ๐•œ] [StarRing ๐•œ] [DecidableEq n] (U : โ†ฅ(unitaryGroup n ๐•œ)) (x : Matrix n n ๐•œ) :
          ((innerAut U) x).trace = x.trace

          The trace of U * x * Uโปยน is the trace of x.

          theorem Matrix.exists_innerAut_iff_exists_innerAut_inv {n : Type u_1} {๐•œ : Type u_2} [Fintype n] [Field ๐•œ] [StarRing ๐•œ] [DecidableEq n] {P : Matrix n n ๐•œ โ†’ Prop} (x : Matrix n n ๐•œ) :
          (โˆƒ (U : โ†ฅ(unitaryGroup n ๐•œ)), P ((innerAut U) x)) โ†” โˆƒ (U : โ†ฅ(unitaryGroup n ๐•œ)), P ((innerAut Uโปยน) x)
          theorem Matrix.innerAut.is_injective {n : Type u_1} {๐•œ : Type u_2} [Fintype n] [Field ๐•œ] [StarRing ๐•œ] [DecidableEq n] (U : โ†ฅ(unitaryGroup n ๐•œ)) :
          theorem Matrix.innerAut_isHermitian_iff {n : Type u_1} {๐•œ : Type u_2} [Fintype n] [Field ๐•œ] [StarRing ๐•œ] [DecidableEq n] (U : โ†ฅ(unitaryGroup n ๐•œ)) (x : Matrix n n ๐•œ) :

          A matrix is Hermitian iff its image under a unitary inner automorphism is Hermitian.

          theorem Matrix.unitaryGroup.injective_hMul {n : Type u_1} {๐•œ : Type u_2} [Fintype n] [Field ๐•œ] [StarRing ๐•œ] [DecidableEq n] (U : โ†ฅ(unitaryGroup n ๐•œ)) (x y : Matrix n n ๐•œ) :
          x = y โ†” x * โ†‘U = y * โ†‘U
          theorem Matrix.unitaryGroup_conjTranspose {n : Type u_1} {๐•œ : Type u_2} [Fintype n] [Field ๐•œ] [StarRing ๐•œ] [DecidableEq n] (U : โ†ฅ(unitaryGroup n ๐•œ)) :
          (โ†‘U).conjTranspose = โ†‘Uโปยน
          theorem Matrix.innerAut_posSemidef_iff {n : Type u_1} {๐•œ : Type u_2} [Fintype n] [RCLike ๐•œ] [DecidableEq n] (U : โ†ฅ(unitaryGroup n ๐•œ)) {a : Matrix n n ๐•œ} :

          A unitary inner automorphism preserves positive semidefinite matrices.

          theorem Matrix.posSemidef_innerAut {n : Type u_1} {๐•œ : Type u_2} [Fintype n] [RCLike ๐•œ] [DecidableEq n] {a : Matrix n n ๐•œ} (ha : a.PosSemidef) (U : โ†ฅ(unitaryGroup n ๐•œ)) :
          theorem Matrix.PosSemidef.innerAut {n : Type u_1} {๐•œ : Type u_2} [Fintype n] [RCLike ๐•œ] [DecidableEq n] {a : Matrix n n ๐•œ} (ha : a.PosSemidef) (U : โ†ฅ(unitaryGroup n ๐•œ)) :
          theorem Matrix.innerAut_isUnit_iff {n : Type u_1} {๐•œ : Type u_2} [Fintype n] [RCLike ๐•œ] [DecidableEq n] (U : โ†ฅ(unitaryGroup n ๐•œ)) {x : Matrix n n ๐•œ} :
          theorem Matrix.innerAut_posDef_iff {n : Type u_1} {๐•œ : Type u_2} [Fintype n] [RCLike ๐•œ] [DecidableEq n] (U : โ†ฅ(unitaryGroup n ๐•œ)) {x : Matrix n n ๐•œ} :

          A unitary inner automorphism preserves positive definite matrices.

          theorem Matrix.posDef_innerAut {n : Type u_1} {๐•œ : Type u_2} [Fintype n] [RCLike ๐•œ] [DecidableEq n] {a : Matrix n n ๐•œ} (ha : a.PosDef) (U : โ†ฅ(unitaryGroup n ๐•œ)) :
          theorem Matrix.PosDef.innerAut {n : Type u_1} {๐•œ : Type u_2} [Fintype n] [RCLike ๐•œ] [DecidableEq n] {a : Matrix n n ๐•œ} (ha : a.PosDef) (U : โ†ฅ(unitaryGroup n ๐•œ)) :
          theorem StarAlgEquiv.of_matrix_is_inner {n : Type u_2} {๐•œ : Type u_1} [Fintype n] [RCLike ๐•œ] [DecidableEq n] (f : Matrix n n ๐•œ โ‰ƒโ‹†โ‚[๐•œ] Matrix n n ๐•œ) :
          โˆƒ (U : โ†ฅ(Matrix.unitaryGroup n ๐•œ)), Matrix.innerAutStarAlg U = f

          Every star-algebra equivalence of Mโ‚™ is implemented by a unitary conjugation.

          noncomputable def StarAlgEquiv.ofMatrixUnitary {n : Type u_1} {๐•œ : Type u_2} [Fintype n] [RCLike ๐•œ] [DecidableEq n] (f : Matrix n n ๐•œ โ‰ƒโ‹†โ‚[๐•œ] Matrix n n ๐•œ) :
          โ†ฅ(Matrix.unitaryGroup n ๐•œ)

          A unitary matrix implementing a star-algebra equivalence of full matrix algebras.

          Equations
          Instances For
            theorem StarAlgEquiv.eq_innerAut {n : Type u_2} {๐•œ : Type u_1} [Fintype n] [RCLike ๐•œ] [DecidableEq n] (f : Matrix n n ๐•œ โ‰ƒโ‹†โ‚[๐•œ] Matrix n n ๐•œ) :
            theorem Matrix.IsHermitian.spectral_theorem'' {n : Type u_1} {๐•œ : Type u_2} [Fintype n] [RCLike ๐•œ] [DecidableEq n] {x : Matrix n n ๐•œ} (hx : x.IsHermitian) :

            Spectral theorem in Monlib's inner-automorphism notation.

            theorem Matrix.diagonal.spectrum {๐•œ : Type u_1} {n : Type u_2} [Field ๐•œ] [Fintype n] [DecidableEq n] (A : n โ†’ ๐•œ) :
            _root_.spectrum ๐•œ (toLin' (diagonal A)) = {x : ๐•œ | โˆƒ (i : n), A i = x}
            theorem Matrix.IsHermitian.spectrum {n : Type u_1} {๐•œ : Type u_2} [Fintype n] [RCLike ๐•œ] [DecidableEq n] {x : Matrix n n ๐•œ} (hx : x.IsHermitian) :
            _root_.spectrum ๐•œ (toLin' x) = {x_1 : ๐•œ | โˆƒ (i : n), โ†‘(hx.eigenvalues i) = x_1}
            theorem Matrix.IsHermitian.hasEigenvalue_iff {n : Type u_1} {๐•œ : Type u_2} [Fintype n] [RCLike ๐•œ] [DecidableEq n] {x : Matrix n n ๐•œ} (hx : x.IsHermitian) (ฮฑ : ๐•œ) :
            Module.End.HasEigenvalue (toLin' x) ฮฑ โ†” โˆƒ (i : n), โ†‘(hx.eigenvalues i) = ฮฑ
            theorem Matrix.IsAlmostHermitian.schur_decomp {n : Type u_1} {๐•œ : Type u_2} [Fintype n] [RCLike ๐•œ] [DecidableEq n] {A : Matrix n n ๐•œ} (hA : A.IsAlmostHermitian) :
            โˆƒ (D : n โ†’ ๐•œ) (U : โ†ฅ(unitaryGroup n ๐•œ)), (innerAut U) (diagonal D) = A
            theorem toEuclideanLin_one {n : Type u_1} {๐•œ : Type u_2} [Fintype n] [RCLike ๐•œ] [DecidableEq n] :
            theorem Matrix.coe_diagonal_eq_diagonal_coe {n : Type u_1} {๐•œ : Type u_2} [RCLike ๐•œ] [DecidableEq n] (x : n โ†’ โ„) :
            theorem Matrix.innerAutStarAlg_equiv_toLinearMap {n : Type u_1} {๐•œ : Type u_2} [Fintype n] [Field ๐•œ] [StarRing ๐•œ] [DecidableEq n] (U : โ†ฅ(unitaryGroup n ๐•œ)) :
            theorem Matrix.innerAutStarAlg_equiv_symm_toLinearMap {n : Type u_1} {๐•œ : Type u_2} [Fintype n] [Field ๐•œ] [StarRing ๐•œ] [DecidableEq n] (U : โ†ฅ(unitaryGroup n ๐•œ)) :
            theorem Matrix.innerAut_commutes_with_map_lid_symm {n : Type u_1} {๐•œ : Type u_2} [Fintype n] [Field ๐•œ] [StarRing ๐•œ] [DecidableEq n] (U : โ†ฅ(unitaryGroup n ๐•œ)) :
            TensorProduct.map 1 (innerAut U) โˆ˜โ‚— โ†‘(TensorProduct.lid ๐•œ (Matrix n n ๐•œ)).symm = โ†‘(TensorProduct.lid ๐•œ (Matrix n n ๐•œ)).symm โˆ˜โ‚— innerAut U
            theorem Matrix.innerAut_commutes_with_lid_comm {n : Type u_1} {๐•œ : Type u_2} [Fintype n] [Field ๐•œ] [StarRing ๐•œ] [DecidableEq n] (U : โ†ฅ(unitaryGroup n ๐•œ)) :
            โ†‘(TensorProduct.lid ๐•œ (Matrix n n ๐•œ)) โˆ˜โ‚— โ†‘(TensorProduct.comm ๐•œ (Matrix n n ๐•œ) ๐•œ) โˆ˜โ‚— TensorProduct.map (innerAut U) 1 = innerAut U โˆ˜โ‚— โ†‘(TensorProduct.lid ๐•œ (Matrix n n ๐•œ)) โˆ˜โ‚— โ†‘(TensorProduct.comm ๐•œ (Matrix n n ๐•œ) ๐•œ)
            theorem Matrix.innerAut_comp_inj {n : Type u_1} {๐•œ : Type u_2} [Fintype n] [Field ๐•œ] [StarRing ๐•œ] [DecidableEq n] (U : โ†ฅ(unitaryGroup n ๐•œ)) (S T : Matrix n n ๐•œ โ†’โ‚—[๐•œ] Matrix n n ๐•œ) :
            theorem Matrix.innerAut_inj_comp {n : Type u_1} {๐•œ : Type u_2} [Fintype n] [Field ๐•œ] [StarRing ๐•œ] [DecidableEq n] (U : โ†ฅ(unitaryGroup n ๐•œ)) (S T : Matrix n n ๐•œ โ†’โ‚—[๐•œ] Matrix n n ๐•œ) :
            theorem Matrix.innerAut.comp_inj {n : Type u_1} {๐•œ : Type u_2} [Fintype n] [Field ๐•œ] [StarRing ๐•œ] [DecidableEq n] (U : โ†ฅ(unitaryGroup n ๐•œ)) (S T : Matrix n n ๐•œ โ†’โ‚—[๐•œ] Matrix n n ๐•œ) :
            theorem Matrix.innerAut.inj_comp {n : Type u_1} {๐•œ : Type u_2} [Fintype n] [Field ๐•œ] [StarRing ๐•œ] [DecidableEq n] (U : โ†ฅ(unitaryGroup n ๐•œ)) (S T : Matrix n n ๐•œ โ†’โ‚—[๐•œ] Matrix n n ๐•œ) :
            theorem Matrix.unitaryGroup.conj_mem {n : Type u_1} {๐•œ : Type u_2} [RCLike ๐•œ] [Fintype n] [DecidableEq n] (U : โ†ฅ(unitaryGroup n ๐•œ)) :
            (โ†‘U).conj โˆˆ unitaryGroup n ๐•œ
            def Matrix.unitaryGroup.conj {n : Type u_1} {๐•œ : Type u_2} [RCLike ๐•œ] [Fintype n] [DecidableEq n] (U : โ†ฅ(unitaryGroup n ๐•œ)) :
            โ†ฅ(unitaryGroup n ๐•œ)

            Entrywise conjugate of a unitary matrix as a unitary.

            Equations
            Instances For
              theorem Matrix.unitaryGroup.conj_coe {n : Type u_1} {๐•œ : Type u_2} [RCLike ๐•œ] [Fintype n] [DecidableEq n] (U : โ†ฅ(unitaryGroup n ๐•œ)) :
              โ†‘(conj U) = (โ†‘U).conj
              theorem Matrix.innerAut.conj {n : Type u_1} {๐•œ : Type u_2} [RCLike ๐•œ] [Fintype n] [DecidableEq n] (U : โ†ฅ(unitaryGroup n ๐•œ)) (x : Matrix n n ๐•œ) :
              theorem Matrix.UnitaryGroup.mul_star_self {n : Type u_1} {๐•œ : Type u_2} [RCLike ๐•œ] [Fintype n] [DecidableEq n] (U : โ†ฅ(unitaryGroup n ๐•œ)) :
              โ†‘U * star โ†‘U = 1
              theorem Matrix.kronecker_mem_unitaryGroup {n : Type u_1} {p : Type u_2} {๐•œ : Type u_3} [RCLike ๐•œ] [Fintype n] [DecidableEq n] [Fintype p] [DecidableEq p] (Uโ‚ : โ†ฅ(unitaryGroup n ๐•œ)) (Uโ‚‚ : โ†ฅ(unitaryGroup p ๐•œ)) :
              kroneckerMap (fun (x1 x2 : ๐•œ) => x1 * x2) โ†‘Uโ‚ โ†‘Uโ‚‚ โˆˆ unitaryGroup (n ร— p) ๐•œ
              def Matrix.unitaryGroup.kronecker {n : Type u_1} {p : Type u_2} {๐•œ : Type u_3} [RCLike ๐•œ] [Fintype n] [DecidableEq n] [Fintype p] [DecidableEq p] (Uโ‚ : โ†ฅ(unitaryGroup n ๐•œ)) (Uโ‚‚ : โ†ฅ(unitaryGroup p ๐•œ)) :
              โ†ฅ(unitaryGroup (n ร— p) ๐•œ)

              The Kronecker product of two unitary matrices as a unitary matrix.

              Equations
              Instances For
                theorem Matrix.unitaryGroup.kronecker_coe {n : Type u_1} {p : Type u_2} {๐•œ : Type u_3} [RCLike ๐•œ] [Fintype n] [DecidableEq n] [Fintype p] [DecidableEq p] (Uโ‚ : โ†ฅ(unitaryGroup n ๐•œ)) (Uโ‚‚ : โ†ฅ(unitaryGroup p ๐•œ)) :
                โ†‘(kronecker Uโ‚ Uโ‚‚) = kroneckerMap (fun (x1 x2 : ๐•œ) => x1 * x2) โ†‘Uโ‚ โ†‘Uโ‚‚
                theorem Matrix.innerAut_kronecker {n : Type u_1} {p : Type u_2} {๐•œ : Type u_3} [RCLike ๐•œ] [Fintype n] [DecidableEq n] [Fintype p] [DecidableEq p] (Uโ‚ : โ†ฅ(unitaryGroup n ๐•œ)) (Uโ‚‚ : โ†ฅ(unitaryGroup p ๐•œ)) (x : Matrix n n ๐•œ) (y : Matrix p p ๐•œ) :
                kroneckerMap (fun (x1 x2 : ๐•œ) => x1 * x2) ((innerAut Uโ‚) x) ((innerAut Uโ‚‚) y) = (innerAut (unitaryGroup.kronecker Uโ‚ Uโ‚‚)) (kroneckerMap (fun (x1 x2 : ๐•œ) => x1 * x2) x y)