Documentation

TauCeti.LinearAlgebra.Matrix.Realify

The realification of a matrix over an RCLike field #

An m × n matrix A over an RCLike field induces an ℝ-linear map, and splitting its entries into real and imaginary parts gives the real (m ⊕ m) × (n ⊕ n) matrix

Matrix.realify A = !![Re A, -Im A; Im A, Re A],

the realification of A. It is additive and multiplicative and turns the conjugate transpose into the transpose, so it carries Hermitian matrices to symmetric ones and *-congruence to congruence. This is what lets real quadratic-form theory be applied to Hermitian forms.

Main definitions #

Main results #

def TauCeti.realifyReflection (ι : Type u_5) [DecidableEq ι] :
Matrix (ι ⊕ ι) (ι ⊕ ι) ℝ

The reflection of ℝ^ι ⊕ ℝ^ι negating the second summand, which realises conjugation as a congruence of realifications.

Equations
Instances For
    def Matrix.realify {m : Type u_2} {n : Type u_3} {𝕜 : Type u_5} [RCLike 𝕜] (A : Matrix m n 𝕜) :
    Matrix (m ⊕ m) (n ⊕ n) ℝ

    The realification of a matrix over an RCLike field, obtained by splitting its entries into real and imaginary parts.

    Equations
    Instances For
      @[simp]
      theorem Matrix.realify_apply_inl_inl {m : Type u_2} {n : Type u_3} {𝕜 : Type u_5} [RCLike 𝕜] (A : Matrix m n 𝕜) (i : m) (j : n) :
      A.realify (Sum.inl i) (Sum.inl j) = RCLike.re (A i j)
      @[simp]
      theorem Matrix.realify_apply_inl_inr {m : Type u_2} {n : Type u_3} {𝕜 : Type u_5} [RCLike 𝕜] (A : Matrix m n 𝕜) (i : m) (j : n) :
      A.realify (Sum.inl i) (Sum.inr j) = -RCLike.im (A i j)
      @[simp]
      theorem Matrix.realify_apply_inr_inl {m : Type u_2} {n : Type u_3} {𝕜 : Type u_5} [RCLike 𝕜] (A : Matrix m n 𝕜) (i : m) (j : n) :
      A.realify (Sum.inr i) (Sum.inl j) = RCLike.im (A i j)
      @[simp]
      theorem Matrix.realify_apply_inr_inr {m : Type u_2} {n : Type u_3} {𝕜 : Type u_5} [RCLike 𝕜] (A : Matrix m n 𝕜) (i : m) (j : n) :
      A.realify (Sum.inr i) (Sum.inr j) = RCLike.re (A i j)
      @[simp]
      theorem Matrix.realify_zero {m : Type u_2} {n : Type u_3} {𝕜 : Type u_5} [RCLike 𝕜] :
      @[simp]
      theorem Matrix.realify_add {m : Type u_2} {n : Type u_3} {𝕜 : Type u_5} [RCLike 𝕜] (A B : Matrix m n 𝕜) :

      Realification preserves addition.

      @[simp]
      theorem Matrix.realify_neg {m : Type u_2} {n : Type u_3} {𝕜 : Type u_5} [RCLike 𝕜] (A : Matrix m n 𝕜) :
      @[simp]
      theorem Matrix.realify_smul {m : Type u_2} {n : Type u_3} {𝕜 : Type u_5} [RCLike 𝕜] (r : ℝ) (A : Matrix m n 𝕜) :
      (r • A).realify = r • A.realify

      Realification commutes with real scalar multiplication.

      @[simp]
      theorem Matrix.realify_map_ofReal {m : Type u_2} {n : Type u_3} {𝕜 : Type u_5} [RCLike 𝕜] (M : Matrix m n ℝ) :
      (M.map ⇑(algebraMap ℝ 𝕜)).realify = fromBlocks M 0 0 M

      A matrix with real entries realifies to two diagonal copies of itself.

      @[simp]
      theorem Matrix.realify_one {ι : Type u_4} {𝕜 : Type u_5} [RCLike 𝕜] [DecidableEq ι] :

      Realification preserves the identity matrix.

      @[simp]
      theorem Matrix.realify_mul {l : Type u_1} {m : Type u_2} {n : Type u_3} {𝕜 : Type u_5} [RCLike 𝕜] [Fintype n] (A : Matrix m n 𝕜) (B : Matrix n l 𝕜) :

      Realification preserves matrix multiplication.

      @[simp]
      theorem Matrix.realify_conjTranspose {m : Type u_2} {n : Type u_3} {𝕜 : Type u_5} [RCLike 𝕜] (A : Matrix m n 𝕜) :

      Realification turns the conjugate transpose into the transpose.

      theorem Matrix.IsHermitian.isSymm_realify {ι : Type u_4} {𝕜 : Type u_5} [RCLike 𝕜] {A : Matrix ι ι 𝕜} (hA : A.IsHermitian) :

      Realification carries Hermitian matrices to symmetric ones.

      theorem Matrix.isUnit_det_realify {ι : Type u_4} {𝕜 : Type u_5} [RCLike 𝕜] [Fintype ι] [DecidableEq ι] {A : Matrix ι ι 𝕜} (h : IsUnit A.det) :

      Realification preserves invertibility.

      theorem Matrix.realify_map_starRingEnd {ι : Type u_4} {𝕜 : Type u_5} [RCLike 𝕜] [Fintype ι] [DecidableEq ι] (A : Matrix ι ι 𝕜) :

      Entrywise conjugation becomes congruence by the reflection negating the imaginary coordinates.