# mathlibdocumentation

algebra.lie.cartan_matrix

# Lie algebras from Cartan matrices #

Split semi-simple Lie algebras are uniquely determined by their Cartan matrix. Indeed, if A is an l × l Cartan matrix, the corresponding Lie algebra may be obtained as the Lie algebra on 3l generators: $H_1, H_2, \ldots H_l, E_1, E_2, \ldots, E_l, F_1, F_2, \ldots, F_l$ subject to the following relations: \begin{align} [H_i, H_j] &= 0\\ [E_i, F_i] &= H_i\\ [E_i, F_j] &= 0 \quad\text{if i \ne j}\\ [H_i, E_j] &= A_{ij}E_j\\ [H_i, F_j] &= -A_{ij}F_j\\ ad(E_i)^{1 - A_{ij}}(E_j) &= 0 \quad\text{if i \ne j}\\ ad(F_i)^{1 - A_{ij}}(F_j) &= 0 \quad\text{if i \ne j}\\ \end{align}

In this file we provide the above construction. It is defined for any square matrix of integers but the results for non-Cartan matrices should be regarded as junk.

Recall that a Cartan matrix is a square matrix of integers A such that:

• For diagonal values we have: A i i = 2.
• For off-diagonal values (i ≠ j) we have: A i j ∈ {-3, -2, -1, 0}.
• A i j = 0 ↔ A j i = 0.
• There exists a diagonal matrix D over ℝ such that D ⬝ A ⬝ D⁻¹ is symmetric positive definite.

## Alternative construction #

This construction is sometimes performed within the free unital associative algebra free_algebra R X, rather than within the free Lie algebra free_lie_algebra R X, as we do here. However the difference is illusory since the construction stays inside the Lie subalgebra of free_algebra R X generated by X, and this is naturally isomorphic to free_lie_algebra R X (though the proof of this seems to require Poincaré–Birkhoff–Witt).

## Definitions of exceptional Lie algebras #

This file also contains the Cartan matrices of the exceptional Lie algebras. By using these in the above construction, it thus provides definitions of the exceptional Lie algebras. These definitions make sense over any commutative ring. When the ring is ℝ, these are the split real forms of the exceptional semisimple Lie algebras.

## Main definitions #

• matrix.to_lie_algebra
• cartan_matrix.E₆
• cartan_matrix.E₇
• cartan_matrix.E₈
• cartan_matrix.F₄
• cartan_matrix.G₂
• lie_algebra.e₆
• lie_algebra.e₇
• lie_algebra.e₈
• lie_algebra.f₄
• lie_algebra.g₂

## Tags #

lie algebra, semi-simple, cartan matrix

inductive cartan_matrix.generators (B : Type v) [decidable_eq B] [fintype B] :
Type v
• H : Π {B : Type v} [_inst_2 : [_inst_3 : fintype B],
• E : Π {B : Type v} [_inst_2 : [_inst_3 : fintype B],
• F : Π {B : Type v} [_inst_2 : [_inst_3 : fintype B],

The generators of the free Lie algebra from which we construct the Lie algebra of a Cartan matrix as a quotient.

@[protected, instance]
Equations
noncomputable def cartan_matrix.relations.HH (R : Type u) {B : Type v} [comm_ring R] [decidable_eq B] [fintype B] :
B × B

The terms correpsonding to the ⁅H, H⁆-relations.

Equations
noncomputable def cartan_matrix.relations.EF (R : Type u) {B : Type v} [comm_ring R] [decidable_eq B] [fintype B] :
B × B

The terms correpsonding to the ⁅E, F⁆-relations.

Equations
noncomputable def cartan_matrix.relations.HE (R : Type u) {B : Type v} [comm_ring R] [decidable_eq B] [fintype B] (A : B ) :
B × B

The terms correpsonding to the ⁅H, E⁆-relations.

Equations
noncomputable def cartan_matrix.relations.HF (R : Type u) {B : Type v} [comm_ring R] [decidable_eq B] [fintype B] (A : B ) :
B × B

The terms correpsonding to the ⁅H, F⁆-relations.

Equations
noncomputable def cartan_matrix.relations.ad_E (R : Type u) {B : Type v} [comm_ring R] [decidable_eq B] [fintype B] (A : B ) :
B × B

The terms correpsonding to the ad E-relations.

Note that we use int.to_nat so that we can take the power and that we do not bother restricting to the case i ≠ j since these relations are zero anyway. We also defensively ensure this with ad_E_of_eq_eq_zero.

Equations
noncomputable def cartan_matrix.relations.ad_F (R : Type u) {B : Type v} [comm_ring R] [decidable_eq B] [fintype B] (A : B ) :
B × B

The terms correpsonding to the ad F-relations.

See also ad_E docstring.

Equations
def cartan_matrix.relations.to_set (R : Type u) {B : Type v} [comm_ring R] [decidable_eq B] [fintype B] (A : B ) :

The union of all the relations as a subset of the free Lie algebra.

Equations
noncomputable def cartan_matrix.relations.to_ideal (R : Type u) {B : Type v} [comm_ring R] [decidable_eq B] [fintype B] (A : B ) :

The ideal of the free Lie algebra generated by the relations.

Equations
@[protected, instance]
noncomputable def matrix.to_lie_algebra.lie_ring (R : Type u) {B : Type v} [comm_ring R] [decidable_eq B] [fintype B] (A : B ) :
def matrix.to_lie_algebra (R : Type u) {B : Type v} [comm_ring R] [decidable_eq B] [fintype B] (A : B ) :
Type (max u v)

The Lie algebra corresponding to a Cartan matrix.

Note that it is defined for any matrix of integers. Its value for non-Cartan matrices should be regarded as junk.

Equations
@[protected, instance]
noncomputable def matrix.to_lie_algebra.inhabited (R : Type u) {B : Type v} [comm_ring R] [decidable_eq B] [fintype B] (A : B ) :
@[protected, instance]
noncomputable def matrix.to_lie_algebra.lie_algebra (R : Type u) {B : Type v} [comm_ring R] [decidable_eq B] [fintype B] (A : B ) :
def cartan_matrix.E₆  :
matrix (fin 6) (fin 6)

The Cartan matrix of type e₆. See [Bou02] plate V, page 277.

The corresponding Dynkin diagram is:

            o
|
o --- o --- o --- o --- o

Equations
• cartan_matrix.E₆ = ![![2, 0, -1, 0, 0, 0], ![0, 2, 0, -1, 0, 0], ![-1, 0, 2, -1, 0, 0], ![0, -1, -1, 2, -1, 0], ![0, 0, 0, -1, 2, -1], ![0, 0, 0, 0, -1, 2]]
def cartan_matrix.E₇  :
matrix (fin 7) (fin 7)

The Cartan matrix of type e₇. See [Bou02] plate VI, page 281.

The corresponding Dynkin diagram is:

            o
|
o --- o --- o --- o --- o --- o

Equations
• cartan_matrix.E₇ = ![![2, 0, -1, 0, 0, 0, 0], ![0, 2, 0, -1, 0, 0, 0], ![-1, 0, 2, -1, 0, 0, 0], ![0, -1, -1, 2, -1, 0, 0], ![0, 0, 0, -1, 2, -1, 0], ![0, 0, 0, 0, -1, 2, -1], ![0, 0, 0, 0, 0, -1, 2]]
def cartan_matrix.E₈  :
matrix (fin 8) (fin 8)

The Cartan matrix of type e₈. See [Bou02] plate VII, page 285.

The corresponding Dynkin diagram is:

            o
|
o --- o --- o --- o --- o --- o --- o

Equations
• cartan_matrix.E₈ = ![![2, 0, -1, 0, 0, 0, 0, 0], ![0, 2, 0, -1, 0, 0, 0, 0], ![-1, 0, 2, -1, 0, 0, 0, 0], ![0, -1, -1, 2, -1, 0, 0, 0], ![0, 0, 0, -1, 2, -1, 0, 0], ![0, 0, 0, 0, -1, 2, -1, 0], ![0, 0, 0, 0, 0, -1, 2, -1], ![0, 0, 0, 0, 0, 0, -1, 2]]
def cartan_matrix.F₄  :
matrix (fin 4) (fin 4)

The Cartan matrix of type f₄. See [Bou02] plate VIII, page 288.

The corresponding Dynkin diagram is:

o --- o =>= o --- o

Equations
def cartan_matrix.G₂  :
matrix (fin 2) (fin 2)

The Cartan matrix of type g₂. See [Bou02] plate IX, page 290.

The corresponding Dynkin diagram is:

o ≡>≡ o


Actually we are using the transpose of Bourbaki's matrix. This is to make this matrix consistent with cartan_matrix.F₄, in the sense that all non-zero values below the diagonal are -1.

Equations
def lie_algebra.e₆ (R : Type u) [comm_ring R] :
Type u

The exceptional split Lie algebra of type e₆.

def lie_algebra.e₇ (R : Type u) [comm_ring R] :
Type u

The exceptional split Lie algebra of type e₇.

def lie_algebra.e₈ (R : Type u) [comm_ring R] :
Type u

The exceptional split Lie algebra of type e₈.

def lie_algebra.f₄ (R : Type u) [comm_ring R] :
Type u

The exceptional split Lie algebra of type f₄.

def lie_algebra.g₂ (R : Type u) [comm_ring R] :
Type u

The exceptional split Lie algebra of type g₂.