Skip to content
This repository was archived by the owner on Jul 24, 2024. It is now read-only.

Commit 41ec92e

Browse files
committed
feat(algebra/lie/from_cartan_matrix): construction of a Lie algebra from a Cartan matrix (#8206)
1 parent 126a7b6 commit 41ec92e

File tree

2 files changed

+167
-0
lines changed

2 files changed

+167
-0
lines changed

docs/references.bib

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -964,6 +964,20 @@ @Book{ seligman1967
964964
mrreviewer = {R. E. Block}
965965
}
966966

967+
@book{ serre1965
968+
author = {Serre, Jean-Pierre},
969+
title = {Complex semisimple {L}ie algebras},
970+
note = {Translated from the French by G. A. Jones},
971+
publisher = {Springer-Verlag, New York},
972+
year = {1987},
973+
pages = {x+74},
974+
isbn = {0-387-96569-6},
975+
mrclass = {17-01 (17B20)},
976+
mrnumber = {914496},
977+
doi = {10.1007/978-1-4757-3910-7},
978+
url = {https://doi.org/10.1007/978-1-4757-3910-7},
979+
}
980+
967981
@Book{ simon2011,
968982
author = {Simon, Barry},
969983
title = {Convexity: An Analytic Viewpoint},
Lines changed: 153 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,153 @@
1+
/-
2+
Copyright (c) 2021 Oliver Nash. All rights reserved.
3+
Released under Apache 2.0 license as described in the file LICENSE.
4+
Authors: Oliver Nash
5+
-/
6+
import algebra.lie.free
7+
import algebra.lie.quotient
8+
9+
/-!
10+
# Lie algebras from Cartan matrices
11+
12+
Split semi-simple Lie algebras are uniquely determined by their Cartan matrix. Indeed, if `A` is
13+
an `l × l` Cartan matrix, the corresponding Lie algebra may be obtained as the Lie algebra on
14+
`3l` generators: $H_1, H_2, \ldots H_l, E_1, E_2, \ldots, E_l, F_1, F_2, \ldots, F_l$
15+
subject to the following relations:
16+
$$
17+
\begin{align}
18+
[H_i, H_j] &= 0\\
19+
[E_i, F_i] &= H_i\\
20+
[E_i, F_j] &= 0 \quad\text{if $i \ne j$}\\
21+
[H_i, E_j] &= A_{ij}E_j\\
22+
[H_i, F_j] &= -A_{ij}F_j\\
23+
ad(E_i)^{1 - A_{ij}}(E_j) &= 0 \quad\text{if $i \ne j$}\\
24+
ad(F_i)^{1 - A_{ij}}(F_j) &= 0 \quad\text{if $i \ne j$}\\
25+
\end{align}
26+
$$
27+
28+
In this file we provide the above construction. It is defined for any square matrix of integers but
29+
the results for non-Cartan matrices should be regarded as junk.
30+
31+
Recall that a Cartan matrix is a square matrix of integers `A` such that:
32+
* For diagonal values we have: `A i i = 2`.
33+
* For off-diagonal values (`i ≠ j`) we have: `A i j ∈ {-3, -2, -1, 0}`.
34+
* `A i j = 0 ↔ A j i = 0`.
35+
* There exists a diagonal matrix `D` over ℝ such that `D ⬝ A ⬝ D⁻¹` is symmetric positive definite.
36+
37+
## Alternative construction
38+
39+
This construction is sometimes performed within the free unital associative algebra
40+
`free_algebra R X`, rather than within the free Lie algebra `free_lie_algebra R X`, as we do here.
41+
However the difference is illusory since the construction stays inside the Lie subalgebra of
42+
`free_algebra R X` generated by `X`, and this is naturally isomorphic to `free_lie_algebra R X`
43+
(though the proof of this seems to require Poincaré–Birkhoff–Witt).
44+
45+
## References
46+
47+
* [N. Bourbaki, *Lie Groups and Lie Algebras, Chapters 7--9*](bourbaki1975b) chapter VIII, §4.3
48+
49+
* [J.P. Serre, *Complex Semisimple Lie Algebras*](serre1965) chapter VI, appendix
50+
51+
## Main definitions
52+
53+
* `matrix.to_lie_algebra`
54+
55+
## Tags
56+
57+
lie algebra, semi-simple, cartan matrix
58+
-/
59+
60+
universes u v w
61+
62+
noncomputable theory
63+
64+
variables (R : Type u) {B : Type v} [comm_ring R] [decidable_eq B] [fintype B]
65+
variables (A : matrix B B ℤ)
66+
67+
namespace cartan_matrix
68+
69+
variables (B)
70+
71+
/-- The generators of the free Lie algebra from which we construct the Lie algebra of a Cartan
72+
matrix as a quotient. -/
73+
inductive generators
74+
| H : B → generators
75+
| E : B → generators
76+
| F : B → generators
77+
78+
instance [inhabited B] : inhabited (generators B) := ⟨generators.H $ default B⟩
79+
80+
variables {B}
81+
82+
namespace relations
83+
84+
open function
85+
86+
local notation `H` := free_lie_algebra.of R ∘ generators.H
87+
local notation `E` := free_lie_algebra.of R ∘ generators.E
88+
local notation `F` := free_lie_algebra.of R ∘ generators.F
89+
local notation `ad` := lie_algebra.ad R (free_lie_algebra R (generators B))
90+
91+
/-- The terms correpsonding to the `⁅H, H⁆`-relations. -/
92+
def HH : B × B → free_lie_algebra R (generators B) :=
93+
uncurry $ λ i j, ⁅H i, H j⁆
94+
95+
/-- The terms correpsonding to the `⁅E, F⁆`-relations. -/
96+
def EF : B × B → free_lie_algebra R (generators B) :=
97+
uncurry $ λ i j, if i = j then ⁅E i, F i⁆ - H i else ⁅E i, F j⁆
98+
99+
/-- The terms correpsonding to the `⁅H, E⁆`-relations. -/
100+
def HE : B × B → free_lie_algebra R (generators B) :=
101+
uncurry $ λ i j, ⁅H i, E j⁆ - (A i j) • E j
102+
103+
/-- The terms correpsonding to the `⁅H, F⁆`-relations. -/
104+
def HF : B × B → free_lie_algebra R (generators B) :=
105+
uncurry $ λ i j, ⁅H i, F j⁆ + (A i j) • F j
106+
107+
/-- The terms correpsonding to the `ad E`-relations.
108+
109+
Note that we use `int.to_nat` so that we can take the power and that we do not bother
110+
restricting to the case `i ≠ j` since these relations are zero anyway. We also defensively
111+
ensure this with `ad_E_of_eq_eq_zero`. -/
112+
def ad_E : B × B → free_lie_algebra R (generators B) :=
113+
uncurry $ λ i j, (ad (E i))^(-A i j).to_nat $ ⁅E i, E j⁆
114+
115+
/-- The terms correpsonding to the `ad F`-relations.
116+
117+
See also `ad_E` docstring. -/
118+
def ad_F : B × B → free_lie_algebra R (generators B) :=
119+
uncurry $ λ i j, (ad (F i))^(-A i j).to_nat $ ⁅F i, F j⁆
120+
121+
private lemma ad_E_of_eq_eq_zero (i : B) (h : A i i = 2) : ad_E R A ⟨i, i⟩ = 0 :=
122+
have h' : (-2 : ℤ).to_nat = 0, { refl, },
123+
by simp [ad_E, h, h']
124+
125+
private lemma ad_F_of_eq_eq_zero (i : B) (h : A i i = 2) : ad_F R A ⟨i, i⟩ = 0 :=
126+
have h' : (-2 : ℤ).to_nat = 0, { refl, },
127+
by simp [ad_F, h, h']
128+
129+
/-- The union of all the relations as a subset of the free Lie algebra. -/
130+
def to_set : set (free_lie_algebra R (generators B)) :=
131+
(set.range $ HH R) ∪
132+
(set.range $ EF R) ∪
133+
(set.range $ HE R A) ∪
134+
(set.range $ HF R A) ∪
135+
(set.range $ ad_E R A) ∪
136+
(set.range $ ad_F R A)
137+
138+
/-- The ideal of the free Lie algebra generated by the relations. -/
139+
def to_ideal : lie_ideal R (free_lie_algebra R (generators B)) :=
140+
lie_submodule.lie_span R _ $ to_set R A
141+
142+
end relations
143+
144+
end cartan_matrix
145+
146+
/-- The Lie algebra corresponding to a Cartan matrix.
147+
148+
Note that it is defined for any matrix of integers. Its value for non-Cartan matrices should be
149+
regarded as junk. -/
150+
@[derive [lie_ring, lie_algebra R]]
151+
def matrix.to_lie_algebra := (cartan_matrix.relations.to_ideal R A).quotient
152+
153+
instance (A : matrix B B ℤ) : inhabited (matrix.to_lie_algebra R A) := ⟨0

0 commit comments

Comments
 (0)