Documentation

Mathlib.Data.Matrix.Cartan

Cartan matrices #

This file defines Cartan matrices for simple Lie algebras, both the exceptional types (E₆, E₇, E₈, F₄, G₂) and the classical infinite families (A, B, C, D).

Main definitions #

Exceptional types #

Classical types #

References #

Tags #

cartan matrix, lie algebra, dynkin diagram

Exceptional Cartan matrices #

The Cartan matrix of type E₆. See [bourbaki1968] plate V, page 277.

Equations
    Instances For

      The Cartan matrix of type E₇. See [bourbaki1968] plate VI, page 281.

      Equations
        Instances For

          The Cartan matrix of type E₈. See [bourbaki1968] plate VII, page 285.

          Equations
            Instances For

              The Cartan matrix of type F₄. See [bourbaki1968] plate VIII, page 288.

              Equations
                Instances For

                  The Cartan matrix of type G₂. See [bourbaki1968] plate IX, page 290. We use the transpose of Bourbaki's matrix for consistency with F₄.

                  Equations
                    Instances For

                      Classical Cartan matrices #

                      def CartanMatrix.A (n : ) :
                      Matrix (Fin n) (Fin n)

                      The Cartan matrix of type Aₙ₋₁ (rank n-1, corresponding to sl(n)).

                      Equations
                        Instances For
                          def CartanMatrix.B (n : ) :
                          Matrix (Fin n) (Fin n)

                          The Cartan matrix of type Bₙ (rank n, corresponding to so(2n+1)).

                          Equations
                            Instances For
                              def CartanMatrix.C (n : ) :
                              Matrix (Fin n) (Fin n)

                              The Cartan matrix of type Cₙ (rank n, corresponding to sp(2n)).

                              Equations
                                Instances For
                                  def CartanMatrix.D (n : ) :
                                  Matrix (Fin n) (Fin n)

                                  The Cartan matrix of type Dₙ (rank n, corresponding to so(2n)).

                                  Equations
                                    Instances For

                                      Properties #

                                      @[simp]
                                      theorem CartanMatrix.A_diag (n : ) :
                                      (A n).diag = 2
                                      @[simp]
                                      theorem CartanMatrix.B_diag (n : ) (i : Fin n) :
                                      B n i i = 2
                                      @[simp]
                                      theorem CartanMatrix.C_diag (n : ) (i : Fin n) :
                                      C n i i = 2
                                      @[simp]
                                      theorem CartanMatrix.D_diag (n : ) (i : Fin n) :
                                      D n i i = 2
                                      theorem CartanMatrix.A_apply_le_zero_of_ne (n : ) (i j : Fin n) (h : i j) :
                                      A n i j 0
                                      theorem CartanMatrix.B_off_diag_nonpos (n : ) (i j : Fin n) (h : i j) :
                                      B n i j 0
                                      theorem CartanMatrix.C_off_diag_nonpos (n : ) (i j : Fin n) (h : i j) :
                                      C n i j 0
                                      theorem CartanMatrix.D_off_diag_nonpos (n : ) (i j : Fin n) (h : i j) :
                                      D n i j 0

                                      Transpose properties #

                                      Small cases #

                                      theorem CartanMatrix.A_two :
                                      A 2 = !![2, -1; -1, 2]
                                      theorem CartanMatrix.A_three :
                                      A 3 = !![2, -1, 0; -1, 2, -1; 0, -1, 2]
                                      theorem CartanMatrix.D_two :
                                      D 2 = !![2, 0; 0, 2]
                                      theorem CartanMatrix.B_two :
                                      B 2 = !![2, -2; -1, 2]
                                      theorem CartanMatrix.C_two :
                                      C 2 = !![2, -1; -2, 2]
                                      theorem CartanMatrix.D_three :
                                      D 3 = !![2, -1, -1; -1, 2, 0; -1, 0, 2]
                                      theorem CartanMatrix.D_three' :
                                      (Matrix.reindex ((↑[0, 1]).formPerm ) ((↑[0, 1]).formPerm )) (D 3) = A 3
                                      theorem CartanMatrix.D_four :
                                      D 4 = !![2, -1, 0, 0; -1, 2, -1, -1; 0, -1, 2, 0; 0, -1, 0, 2]

                                      Exceptional matrix diagonal entries #

                                      @[simp]
                                      theorem CartanMatrix.E₆_diag (i : Fin 6) :
                                      E₆ i i = 2
                                      @[simp]
                                      theorem CartanMatrix.E₇_diag (i : Fin 7) :
                                      E₇ i i = 2
                                      @[simp]
                                      theorem CartanMatrix.E₈_diag (i : Fin 8) :
                                      E₈ i i = 2
                                      @[simp]
                                      theorem CartanMatrix.F₄_diag (i : Fin 4) :
                                      F₄ i i = 2
                                      @[simp]
                                      theorem CartanMatrix.G₂_diag (i : Fin 2) :
                                      G₂ i i = 2

                                      Exceptional matrix off-diagonal entries #

                                      Exceptional matrix transpose properties #

                                      Exceptional matrix determinants #

                                      The determinants of E₆, E₇, E₈ are 3, 2, 1 respectively. decide fails for these larger matrices without increasing the max recursion depth. We could write manual proofs (e.g., expanding via det_succ_column_zero), but prefer to wait for a more principled determinant tactic.

                                      def Matrix.IsSimplyLaced {ι : Type u_1} (A : Matrix ι ι ) :

                                      A Cartan matrix is simply laced if its off-diagonal entries are all 0 or -1.

                                      Equations
                                        Instances For
                                          theorem Matrix.isSimplyLaced_iff_of_linearOrder {ι : Type u_1} [LinearOrder ι] (A : Matrix ι ι ) (hA : A.IsSymm) :
                                          A.IsSimplyLaced ∀ ⦃i j : ι⦄, j < iA i j = 0 A i j = -1

                                          The Cartan matrices F₄ and G₂ are not simply laced because they contain off-diagonal entries that are neither 0 nor -1.