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");
MultiplicationTable(Alg2, "LieTable");
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");
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 the Matrix 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");
Here is the image algebra.
MultiplicationTable(Alg4, "LieTable");
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");
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");
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. Display the two quotient algebras h/j (Alg2) and m/k (Alg4).
Construct the isomorphism psi from Alg2 to Alg4.
psi := ComposeTransformations(piM, iota, Sigma);
ψ ≔ A1,B1,A2,B2,A3,B3,A4,B3+B4
Check that psi is a Lie algebra homomorphism. Check the psi is an isomorphism by calculating its inverse.
Query(Alg2, Alg4, psi, "Homomorphism");
InverseTransformation(psi);
B1,A1,B2,A2,B3,A3,B4,−A3+A4
The Third Isomorphism Theorem states that if h and k are ideals in a Lie algebra g, with h a subset of k, then k/h is an ideal in g/h and (g/h)/ (k/h) is isomorphic to g/k. We shall construct this isomorphism for the following ideals.
First define the ambient Lie algebra>
Define the ideals h and k.
h := MinimalIdeal([e7]);
h ≔ e4,e7
k := MinimalIdeal([e1, e2]);
k ≔ e1,e2,e4,e6,e7
Let m = g/h and let q = k/h, as a subalgebra of m. The isomorphism phi : g/k -> (g/h)/(g/k) = m/q is given by the composition of 3 maps g/k --> g --> g/h --> m/qThe first map is any vector space map Sigma : g/k --> g such that pi_k o Sigma = identity on g/k. The second map pi_g2 : g --> g/h is the canonical projection map inclusion. The third map is the projection pi_m from m to the quotient Lie algebra m/q. We construct each of these maps, calculate the composition psi = pi_m o pi_g2 o Sigma, and check that psi is a Lie algebra isomorphism.
Step 1. Construct the quotient algebra g/k, initialize as Alg1 and define the map Sigma. We use the vectors in C1 as representatives for the cosets in g/k
C1:= evalDG([e3,e5,e3-e8]);
C1 ≔ e3,e5,e3−e8
L1, P1 := QuotientAlgebra(k, C1, Alg1, "Matrix");
Initialize the Lie algebra g/k (Alg1) and use A1, A2, A3 as labels for the basis vectors.
DGsetup(L1, [A], [omega]);
Lie algebra: Alg1
Use the matrix P1 to define the canonical projection from g (Alg) to g/k (Alg1).
pi_G1 := Transformation(Alg, Alg1, P1);
pi_G1 ≔ e1,0⁢A1,e2,0⁢A1,e3,A1,e4,0⁢A1,e5,A2,e6,0⁢A1,e7,0⁢A1,e8,A1−A3
Sigma := Transformation([[A1, e3], [A2, e5], [A3, -e8 +e3]]);
Σ ≔ A1,e3,A2,e5,A3,e3−e8
ComposeTransformations(pi_G1, Sigma);
A1,A1,A2,A2,A3,A3
Step 2. Construct the quotient space m = g/h and initialize as Alg3. Project the vectors in k into g/h to obtain the ideal q. We use the vectors in C2 as representatives for the cosets in g/h.
ChangeFrame(Alg);
Alg1
h;
e4,e7
C2 := evalDG([e1, e2, e3 + e5, e5, e6 - e8, e8]);
C2 ≔ e1,e2,e3+e5,e5,e6−e8,e8
L2, P2 := QuotientAlgebra(h, C2, Alg2, "Matrix");
Initialize the Lie algebra g/h (Alg2) and calculate the projection map. Label the vectors in Alg2 as M1, M2, ...
DGsetup(L2, [M], [omega]);
pi_G2 := Transformation(Alg, Alg2, P2);
pi_G2 ≔ e1,M1,e2,M2,e3,M3−M4,e4,0⁢M1,e5,M4,e6,M5+M6,e7,0⁢M1,e8,M6
Project each vector in k into g/h and check that the resulting list of vectors defines an ideal q in g/h (Alg2).
Q0 := [seq(ApplyHomomorphism(pi_G2, x), x= k)];
Q0 ≔ M1,M2,0⁢M1,M5+M6,0⁢M1
Q := DGbasis(Q0);
Q ≔ M1,M2,M5+M6
Query(Q, "Ideal");
Step 3. Calculate the structure equations for the quotient algebra (g/h)/(k/h) = m/q = Alg2/ Q. Initialize the result as Alg3 and calculate the projection map piM. We use the vectors C3 as representatives for a basis for m/q.
Q;
M1,M2,M5+M6
C3 := evalDG([M5 - M6, M3 +M4, M4]);
C3 ≔ M5−M6,M3+M4,M4
L3, P3 := QuotientAlgebra(Q, C3, Alg3, "Matrix");
DGsetup(L3, [B], [omega]);
pi_M := Transformation(Alg2, Alg3, P3);
pi_M ≔ M1,0⁢B1,M2,0⁢B1,M3,B2−B3,M4,B3,M5,B12,M6,−B12
Step 4. Display the multiplication tables for g/k (Alg1) and (g/h)/(k/h) (Alg3). Define the composition psi = pi_m o pi_g2 o Sigma, and check that psi is a Lie algebra isomorphism.
psi := ComposeTransformations(pi_M, pi_G2, Sigma);
ψ ≔ A1,B2−2⁢B3,A2,B3,A3,B12+B2−2⁢B3
We check that psi is an isomorphism by showing it is a homomorphism with non-singular Jacobian.
Query(Alg1, Alg3, psi, "Homomorphism");
J := Tools:-DGinfo(psi, "JacobianMatrix");
LinearAlgebra:-Determinant(J);
12
Download Help Document