LieAlgebra Tutorial
The Lie Algebra Isomorphism Theorems
Overview
Procedures Illustrated
The First Isomorphism Theorem
The Second Isomorphism Theorem
The Third Isomorphism Theorem
The quotient or factor construction for groups rings and algebras leads to three fundament isomorphism theorems. In this tutorial we construct each of these isomorphisms explicitly for an example.
In this tutorial we shall make use of the following packages and commands:
DifferentialGeometry, LieAlgebras, Library, ComposeTransformations, DGsetup, InverseTransformations, LieAlgebraData, QuotientAlgebra, Query, Transformation
The First Isomorphism Theorem states that if phi: g -> k is a Lie algebra homomorphism, then phi induces a isomorphism psi : g/kernel(phi) -> image(phi). We shall verify this theorem for the homomorphism phi defined below.
with(DifferentialGeometry): with(LieAlgebras):
First define and initialize the Lie algebras Alg1 and Alg2.
L1 := _DG([["LieAlgebra", Alg1, [6]], [[[1, 2, 3], -1], [[1, 2, 5], -1], [[1, 3, 1], -4], [[1, 3, 2], -1], [[1, 3, 4], 3], [[1, 5, 1], 3], [[1, 5, 2], 1], [[1, 5, 4], -2], [[1, 6, 3], -1], [[1, 6, 5], -1], [[2, 3, 2], -2], [[2, 3, 6], 1], [[2, 4, 3], 1], [[2, 4, 5], 1], [[2, 5, 2], 2], [[2, 5, 6], -1], [[3, 4, 1], 1], [[3, 4, 2], 1], [[3, 5, 3], 2], [[3, 5, 5], 2], [[3, 6, 6], 1], [[4, 5, 2], 1], [[4, 5, 4], 1], [[4, 6, 3], -1], [[4, 6, 5], -1], [[5, 6, 6], -1]]]):
L2 := _DG([["LieAlgebra", Alg2, [5]], [[[1, 2, 1], 2], [[1, 3, 1], 2], [[2, 3, 1], 1], [[2, 3, 2], 1], [[2, 3, 3], -1], [[1, 2, 4], -1], [[1, 3, 4], -1], [[2, 4, 4], -1], [[3, 4, 4], -1], [[2, 5, 4], 1], [[3, 5, 4], -1]]]):
DGsetup(L1, [e], [theta]):
DGsetup(L2, [f], [omega]):
Here are the multiplication tables for the Lie algebras g = Alg1 and k = Alg2.
MultiplicationTable(Alg1, "LieTable");
`|`e1e2e3e4e5e6---------------------------e1`|`0−e3−e5−4⁢e1−e2+3⁢e403⁢e1+e2−2⁢e4−e3−e5e2`|`e3+e50−2⁢e2+e6e3+e52⁢e2−e60e3`|`4⁢e1+e2−3⁢e42⁢e2−e60e1+e22⁢e3+2⁢e5e6e4`|`0−e3−e5−e1−e20e2+e4−e3−e5e5`|`−3⁢e1−e2+2⁢e4−2⁢e2+e6−2⁢e3−2⁢e5−e2−e40−e6e6`|`e3+e50−e6e3+e5e60
MultiplicationTable(Alg2, "LieTable");
`|`f1f2f3f4f5-----------------------f1`|`02⁢f1−f42⁢f1−f400f2`|`−2⁢f1+f40f1+f2−f3−f4f4f3`|`−2⁢f1+f4−f1−f2+f30−f4−f4f4`|`0f4f400f5`|`0−f4f400
Here is the homomorphism phi from Alg1 to Alg2.
phi := Transformation([[e1, f2 &minus f3], [e2, f1], [e3, (-1) &mult f3], [e4, f2 &minus f3], [e5, f3], [e6, f4]]);
φ ≔ e1,f2−f3,e2,f1,e3,−f3,e4,f2−f3,e5,f3,e6,f4
Query(Alg1, Alg2, phi, "Homomorphism");
true
Let h be the kernel of phi and let m be the image of phi. In accordance with the standard proof of the First Isomorphism Theorem, the isomorphism psi : g/h -->m can be defined as the composition of 3 maps g/h -->h -->k -->m. The first map is any vector space map Sigma: g/h -> g such that pi o Sigma = identity on g/h. The second map is the given Lie algebra homomorphism phi. The third map is any vector space projection from k onto m In Step 1, we calculate the kernel of phi, find the structure equations for the quotient of Alg1 by the kernel of phi, and initialize the quotient algebra as Alg3. We also define the map Sigma. In Step 2 we calculate the image of phi and initialize this subalgebra of Alg2 as Alg4. In Step 3 we define a projection map rho : k --> m. In Step 4 we compute the composition of psi =Sigma o phi o rho from g/h (Alg3) to m (Alg4) and verify that psi is a Lie algebra isomorphism.
Step 1. Calculate the kernel of phi.
kernel := HomomorphismSubalgebras(phi,"Kernel");
kernel ≔ e3+e5,−e1+e4
Calculate the structure equations for the quotient of Alg1 by the kernel. Calculate the matrix of the canonical projection map from Alg1 to Alg1/kernel
L3, P3 := QuotientAlgebra(kernel, [e2, e4, e5, e6], Alg3, "Matrix");
L3,P3 ≔ e1,e3=2⁢e1−e4,e2,e3=e1+e2,e3,e4=−e4,01000010010000−1010000001
Initialize the quotient g/h as Alg3 and label the basis vectors for this Lie algebra by E1, E2, E3, E4.
DGsetup(L3, [E], [omega]);
Lie algebra: Alg3
Use theMatrix P3 to define the project map pi : g(Alg1)-> g/h(Alg3).
pi := Transformation(Alg1, Alg3, P3);
π ≔ e1,E2,e2,E1,e3,−E3,e4,E2,e5,E3,e6,E4
Define the vector space map Sigma : g/h(Alg3) -> g(Alg1).
Sigma := Transformation([[E1, e2],[E2, e4],[E3, e5],[E4, e6]]);
Σ ≔ E1,e2,E2,e4,E3,e5,E4,e6
Check that Sigma is a right inverse to pi.
ComposeTransformations(pi, Sigma);
E1,E1,E2,E2,E3,E3,E4,E4
Note that Sigma is not a Lie algebra homomorphism.
Query(Alg3, Alg1, Sigma, "Homomorphism");
false
Step 2. Calculate the image of phi. Initialize this subalgebra of Alg2 as Alg4. Use labels F1, F2, F3, F4 for the basis vector for Alg4.
image := HomomorphismSubalgebras(phi,"Image");
image ≔ f1,f2,f3,f4
L4 := LieAlgebraData(image, Alg4);
L4 ≔ e1,e2=2⁢e1−e4,e1,e3=2⁢e1−e4,e2,e3=e1+e2−e3,e2,e4=−e4,e3,e4=−e4
DGsetup(L4, [F] ,[omega]);
Lie algebra: Alg4
Step 3. Define the projection map from Alg2 to Alg4.
rho:= Transformation([[f1, F1],[f2, F2],[f3, F3], [f4, F4]]);
ρ ≔ f1,F1,f2,F2,f3,F3,f4,F4,f5,0⁢F1
Step 4. Let's summarize our computations. Here is the quotient algebra.
MultiplicationTable(Alg3, "LieTable");
`|`E1E2E3E4-------------------E1`|`002⁢E1−E40E2`|`00E1+E20E3`|`−2⁢E1+E4−E1−E20−E4E4`|`00E40
Here is the image algebra.
MultiplicationTable(Alg4, "LieTable");
`|`F1F2F3F4-------------------F1`|`02⁢F1−F42⁢F1−F40F2`|`−2⁢F1+F40F1+F2−F3−F4F3`|`−2⁢F1+F4−F1−F2+F30−F4F4`|`0F4F40
Here is the isomorphism from Alg3 to Alg4.
psi := ComposeTransformations(rho, phi, Sigma);
ψ ≔ E1,F1,E2,F2−F3,E3,F3,E4,F4
We check that psi is indeed an isomorphism by showing that is a homomorphism with trivial kernel.
Query(Alg3, Alg4, psi, "Homomorphism");
HomomorphismSubalgebras(psi, "Kernel");
The Second Isomorphism Theorem states that if h and k are ideals in a Lie algebra g, then (h + k)/h is isomorphic to k/(h intersect k). We shall construct this isomorphism for the following ideals.
First define and initialize the ambient Lie algebra Alg.
L := _DG([["LieAlgebra", Alg, [8]], [[[1, 2, 1], 1], [[1, 2, 7], -1], [[1, 3, 2], 1], [[1, 3, 4], alpha], [[1, 3, 6], 1], [[1, 3, 7], -1], [[1, 5, 1], -1], [[1, 5, 2], -2], [[1, 5, 6], -2], [[1, 5, 7], 3], [[1, 6, 1], -1], [[1, 6, 7], 1], [[1, 8, 2], -1], [[1, 8, 6], -1], [[1, 8, 7], 1], [[2, 3, 1], -1], [[2, 3, 4], alpha], [[2, 3, 7], 1], [[2, 5, 1], 2], [[2, 5, 2], -1], [[2, 5, 6], -1], [[2, 5, 7], -1], [[2, 6, 2], -1], [[2, 6, 6], -1], [[2, 6, 7], 1], [[2, 8, 1], 1], [[2, 8, 2], -1], [[2, 8, 6], -1], [[3, 4, 4], 1], [[3, 5, 2], 1], [[3, 5, 3], 1], [[3, 5, 5], 1], [[3, 5, 7], -1], [[3, 5, 8], -1], [[3, 7, 4], -alpha], [[3, 8, 1], 1], [[3, 8, 7], -1], [[4, 5, 4], 1], [[5, 8, 1], -2], [[5, 8, 2], 1], [[5, 8, 6], 1], [[5, 8, 7], 1], [[6, 8, 2], 1], [[6, 8, 6], 1], [[6, 8, 7], -1]]]);
L ≔ e1,e2=e1−e7,e1,e3=e2+α⁢e4+e6−e7,e1,e5=−e1−2⁢e2−2⁢e6+3⁢e7,e1,e6=−e1+e7,e1,e8=−e2−e6+e7,e2,e3=−e1+α⁢e4+e7,e2,e5=2⁢e1−e2−e6−e7,e2,e6=−e2−e6+e7,e2,e8=e1−e2−e6,e3,e4=e4,e3,e5=e2+e3+e5−e7−e8,e3,e7=−α⁢e4,e3,e8=e1−e7,e4,e5=e4,e5,e8=−2⁢e1+e2+e6+e7,e6,e8=e2+e6−e7
DGsetup(L);
Lie algebra: Alg
h := MinimalIdeal([e1, e5, e8]);
h ≔ e1,e2+e6,e3−e6,e4,e5,e7,e8
k := MinimalIdeal([e4, e6]);
k ≔ e1−e7,e2−e7,e4,e6
Let m = h + k and j be the intersection of h and k. The isomorphism is given by the composition of maps h/j --> h --> m --> m/k. The first map is any vector space map Sigma: h/j --> h such that pi_h o Sigma = identity on h/j. The second map is the inclusion iota of h into m. The third map is the projection pi_m : m --> m/k from m to the quotient Lie algebra m/k. We construct each of these maps, calculate the composition psi = pi_m o iota o Sigma and check that psi is a Lie algebra isomorphism.
Step 1. Construction of the quotient algebra h/j and the map Sigma. First calculate the intersection of the subspaces h and k.
j := IntersectSubspaces([h,k]);
j ≔ −e2−e6+e7,−e4,−e1+e7
Now initialize the subalgebra h as the Lie algebra Alg1. At the same time calculate the components of the vectors in j as linear combinations of the vectors in h.
L1, Comp1 := LieAlgebraData(h, [j], Alg1);
L1,Comp1 ≔ e1,e3=e1+e2+α⁢e4−2⁢e6,e1,e5=−e1−2⁢e2+3⁢e6,e1,e7=−e2+e6,e2,e3=−e1+e2+α⁢e4,e2,e5=2⁢e1−e2−e6,e2,e7=e1−e6,e3,e4=e4,e3,e5=e2+e3+e5−e6−e7,e3,e6=−α⁢e4,e3,e7=e1−e2,e4,e5=e4,e5,e7=−2⁢e1+e2+e6,0,−1,0,0,0,1,0,0,0,0,−1,0,0,0,−1,0,0,0,0,1,0
Label the vectors in h (Alg1) by H1, H2, ... H7.
DGsetup(L1, [H], [omega]):
Re-express the vectors in j (originally viewed as vectors in the Lie algebra Alg) as vectors in Alg1.
J := map(DGzip,Comp1[1], [H1, H2, H3, H4, H5, H6, H7], "plus");
J ≔ −H2+H6,−H4,−H1+H6
Calculate the structure equations for the quotient H/J using the vectors in C as representative vectors and, at the same time, calculate the matrix for the projection map pi_H.
C2 := [H2 + H6, H3, H5, H7 + H5];
C2 ≔ H2+H6,H3,H5,H7+H5
L2, P2 := QuotientAlgebra(J, C2, Alg2, "Matrix");
L2,P2 ≔ e2,e3=e2+2⁢e3−e4,e2,e4=e2+2⁢e3−e4,12120001200010000000010−10000001
Initialize the quotient algebra H/J and label the basis vectors A1, A2, A3, A4.
DGsetup(L2, [A], [omega]);
Lie algebra: Alg2
Define the projection map piH : H --> H/J.
piH := Transformation(Alg1, Alg2, P2);
piH ≔ H1,A12,H2,A12,H3,A2,H4,0⁢A1,H5,A3,H6,A12,H7,−A3+A4
Define the 'cross-section' Sigma : H/J to H to piH.
Sigma :=Transformation([[A1, 2 &mult H1], [A2,H3], [A3, H5], [A4, H7 &plus H5]]);
Σ ≔ A1,2⁢H1,A2,H3,A3,H5,A4,H5+H7
ComposeTransformations(piH, Sigma);
A1,A1,A2,A2,A3,A3,A4,A4
Step 2. Calculate the structure equations for m = h + k and initialize the result as Alg3. Define the inclusion map iota : h ->m.
m := MinimalIdeal([op(h), op(k)]);
m ≔ e1,e2+e6,e3−e6,e4,e5,e7,e8,e2−e7
L3 := LieAlgebraData(m, Alg3);
L3 ≔ e1,e3=e1+e2+α⁢e4−2⁢e6,e1,e5=−e1−2⁢e2+3⁢e6,e1,e7=−e2+e6,e1,e8=e1−e6,e2,e3=−e1+e2+α⁢e4,e2,e5=2⁢e1−e2−e6,e2,e7=e1−e6,e2,e8=e2−e6,e3,e4=e4,e3,e5=e2+e3+e5−e6−e7,e3,e6=−α⁢e4,e3,e7=e1−e2,e3,e8=e1−e2,e4,e5=e4,e5,e7=−2⁢e1+e2+e6,e5,e8=−2⁢e1+e2+e6,e7,e8=−e1+e2
Label the basis vectors for m (Alg3) by M1, M2 , ...
DGsetup(L3, [M], [omega]);
Define the inclusion map iota.
iota := Transformation([[H1, M1], [H2, M2], [H3, M3],[H4, M4], [H5, M5], [H6, M6], [H7, M7]]);
ι ≔ H1,M1,H2,M2,H3,M3,H4,M4,H5,M5,H6,M6,H7,M7
Step 3. Re-express the vectors in the subalgebra k as elements of Alg3. Calculate the quotient of m (Alg3) by k and initialize the result as Alg4. Calculate the projection map piM.
Comp := GetComponents(k,m);
Comp ≔ 1,0,0,0,0,−1,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,1,0,0,0,−1,0,−1
K := map(DGzip, Comp, [M1, M2, M3, M4, M5, M6, M7, M8], "plus");
K ≔ M1−M6,M8,M4,M2−M6−M8
Use the vectors in C4 as representative vectors for the quotient m/k.
C4 := evalDG([M2 + M6 + M8, M3, M5, M7]);
C4 ≔ M2+M6+M8,M3,M5,M7
L4, P4:= QuotientAlgebra(K,C4,Alg4, "Matrix");
L4,P4 ≔ e2,e3=e2+e3−e4,12120001200001000000000100000000010
DGsetup(L4, [B],[omega]);
piM := Transformation(Alg3, Alg4, P4);
piM ≔ M1,B12,M2,B12,M3,B2,M4,0⁢B1,M5,B3,M6,B12,M7,B4,M8,0⁢B1
Step 4.