Documentation

Formalizations.RingTheory.FreeField.ThreeAxes.SizeChainPencil

The linear algebra behind the atoms of the size chain #

Linear-algebra core of the atom criterion for the 4d Γ— 4d pencil 𝐋 of the size chain (Lemma 6.2(c)). The pencil is an atom when the coefficient matrices 𝖒, 𝖣 generate the full matrix algebra and 𝖣 and 𝖀 = 𝖣 βˆ’ 1 βˆ’ 𝖒² are invertible. This file proves these three facts for the two families used in the paper:

That a diagonal matrix with distinct eigenvalues and the cyclic permutation matrix generate the full matrix algebra is a classical fact (Lagrange interpolation gives the diagonal matrix units, and the cycle moves them around); it is proved here only because we did not find it in Mathlib. The invertibility of 𝖀_d uses Mathlib's Gershgorin theorem (det_ne_zero_of_sum_row_lt_diag): 𝖀_d is strictly diagonally dominant over β„š, and the statement is transferred to any field of characteristic 0 through Rat.castHom.

The step "these conditions imply that the pencil is an atom" is Cohn's Theorem 5.8.8 (in the form of Helton–Klep–Volčič, Remark 2.6); it is not formalized here.

Main results #

References #

def ThreeAxes.SizeChain.cyc (K : Type u_1) [Zero K] [One K] (d : β„•) [NeZero d] :
Matrix (Fin d) (Fin d) K

The cyclic permutation matrix 𝖒_d: (𝖒_d)_{i, i+1} = 1, indices mod d.

Equations
Instances For
    def ThreeAxes.SizeChain.diagD (K : Type u_1) [CommRing K] (d : β„•) :
    Matrix (Fin d) (Fin d) K

    𝖣_d = diag(3, 4, …, d + 2).

    Equations
    Instances For
      def ThreeAxes.SizeChain.matE (K : Type u_1) [CommRing K] (d : β„•) [NeZero d] :
      Matrix (Fin d) (Fin d) K

      𝖀_d = 𝖣_d βˆ’ 1 βˆ’ 𝖒_dΒ².

      Equations
      Instances For
        theorem ThreeAxes.SizeChain.single_mem_adjoin_diagonal {K : Type u_1} [Field K] {n : Type u_2} [Fintype n] [DecidableEq n] {v : n β†’ K} (hv : Function.Injective v) (i : n) :

        A diagonal matrix with distinct eigenvalues generates every diagonal matrix unit (Lagrange interpolation).

        theorem ThreeAxes.SizeChain.adjoin_cyc_diagonal_eq_top {K : Type u_1} [Field K] {d : β„•} [NeZero d] {v : Fin d β†’ K} (hv : Function.Injective v) :

        A diagonal matrix with distinct eigenvalues and the cyclic permutation matrix generate the full matrix algebra. Classical; see the module docstring.

        The family 𝖣_d = diag(3, …, d + 2), 𝖒_d #

        theorem ThreeAxes.SizeChain.diagD_injective (K : Type u_1) [Field K] [CharZero K] (d : β„•) :
        Function.Injective fun (i : Fin d) => ↑↑i + 3

        𝖒_d and 𝖣_d generate M_d(K).

        𝖣_d is invertible.

        theorem ThreeAxes.SizeChain.cyc_mul_cyc_apply (d : β„•) [NeZero d] {R : Type u_2} [CommRing R] (i j : Fin d) :
        (cyc R d * cyc R d) i j = if j = i + 1 + 1 then 1 else 0

        Strict diagonal dominance of 𝖀_d over ℝ: Mathlib's Gershgorin theorem det_ne_zero_of_sum_row_lt_diag.

        theorem ThreeAxes.SizeChain.det_matE_ne_zero (K : Type u_1) [Field K] [CharZero K] (d : β„•) [NeZero d] :
        (matE K d).det β‰  0

        𝖀_d = 𝖣_d βˆ’ 1 βˆ’ 𝖒_dΒ² is invertible over every field of characteristic 0.

        The matrices of F^{(Ξ»)} #

        theorem ThreeAxes.SizeChain.cyc_two {K : Type u_1} [Field K] :
        cyc K 2 = !![0, 1; 1, 0]

        For d = 2, 𝖒_2 is the swap.

        𝖒_2 (the swap) and diag(Ξ», Ξ» + 1) generate M_2(K), for every Ξ».

        diag(Ξ», Ξ» + 1) and 𝖀 = diag(Ξ», Ξ» + 1) βˆ’ 1 βˆ’ 𝖒_2Β² = diag(Ξ», Ξ» + 1) βˆ’ 2 are both invertible iff Ξ» βˆ‰ {βˆ’1, 0, 1, 2}.