Lesson 6: Decompositions of Lie Algebras - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Microsoft Edge.

Online Help

All Products    Maple    MapleSim


Home : Support : Online Help : Mathematics : DifferentialGeometry : Lessons and Tutorials : LieAlgebras : Lesson 6: Decompositions of Lie Algebras

LieAlgebra Lessons

 

Lesson 6:  Decompositions

 

 

Overview

Decompose a Lie into a direct sum of Lie algebras

Calculate the Levi decomposition of a Lie algebra

Overview

In this lesson you will learn to do the following.

– 

Determine if a Lie algebra is decomposable into a direct sum of 2 or more Lie algebras and, if so, explicitly find the decomposition.

– 

Calculate a Levi decomposition of a Lie algebra into a semi-direct sum of its radical and a semi-simple Lie algebra.

 

Decompose a Lie into a direct sum of Lie algebras

An (internal) direct sum decomposition of a Lie algebra g is given by a collection of subalgebras g1, g2, ..., gN such that [i] g = g1 + g2 + ... + gN, [ii] the intersection of any two distinct summands gi and gj, i <> j is trivial, and [iii] the Lie bracket of any two distinct gi and gj is trivial, that is, [gi, gj] = 0.

The decomposition of a Lie algebra can obtained using the Decompose command.  Note that the Decompose command  admits a number of keyword optional arguments which are described in detail in the help page.  In section we shall define a define a 7 dimensional Lie algebra Alg and use the Decompose command to

show that Alg is a direct sum of 3 dimensional Lie algebra which is semi-simple, a 2 dimensional solvable algebra, and a 2 dimensional Abelian algebra.

 

with(DifferentialGeometry): with(LieAlgebras):

 

Define and initialize the 7 dimensional algebra Alg.

L := _DG([["LieAlgebra", Alg1, [7]], [[[1, 2, 1], 2], [[1, 2, 2], 1], [[1, 2, 3], 3], [[1, 2, 4], 3], [[1, 2, 5], 1], [[1, 2, 6], -2], [[1, 2, 7], -4], [[1, 4, 5], 1/3], [[1, 4, 6], -2/3], [[1, 5, 4], -4], [[1, 6, 4], 1], [[1, 7, 4], -1], [[1, 7, 5], 1/3], [[1, 7, 6], -2/3], [[2, 3, 1], 2], [[2, 3, 2], 1], [[2, 3, 3], 3], [[2, 3, 4], 3], [[2, 3, 5], 2/3], [[2, 3, 6], -4/3], [[2, 3, 7], -4], [[2, 5, 1], 4], [[2, 5, 3], 4], [[2, 5, 4], 4], [[2, 5, 5], 1], [[2, 5, 6], -2], [[2, 5, 7], -4], [[2, 6, 1], -1], [[2, 6, 3], -1], [[2, 6, 4], -1], [[2, 6, 7], 1], [[2, 7, 1], 1], [[2, 7, 3], 1], [[2, 7, 4], 1], [[2, 7, 7], -1], [[4, 5, 1], 4], [[4, 5, 3], 4], [[4, 5, 4], 4], [[4, 5, 5], 1], [[4, 5, 6], -2], [[4, 5, 7], -4], [[4, 6, 1], -1], [[4, 6, 3], -1], [[4, 6, 4], -1], [[4, 6, 7], 1], [[4, 7, 1], 1], [[4, 7, 3], 1], [[4, 7, 4], 1], [[4, 7, 7], -1], [[5, 6, 4], -3], [[5, 7, 1], -4], [[5, 7, 3], -4], [[5, 7, 4], -1], [[5, 7, 5], -1], [[5, 7, 6], 2], [[5, 7, 7], 4], [[6, 7, 1], 1], [[6, 7, 3], 1], [[6, 7, 4], 1], [[6, 7, 7], -1]]]);

Le1&comma;e2&equals;2e1&plus;e2&plus;3e3&plus;3e4&plus;e52e64e7&comma;e1&comma;e4&equals;e532e63&comma;e1&comma;e5&equals;4e4&comma;e1&comma;e6&equals;e4&comma;e1&comma;e7&equals;e4&plus;e532e63&comma;e2&comma;e3&equals;2e1&plus;e2&plus;3e3&plus;3e4&plus;2e534e634e7&comma;e2&comma;e5&equals;4e1&plus;4e3&plus;4e4&plus;e52e64e7&comma;e2&comma;e6&equals;e1e3e4&plus;e7&comma;e2&comma;e7&equals;e1&plus;e3&plus;e4e7&comma;e4&comma;e5&equals;4e1&plus;4e3&plus;4e4&plus;e52e64e7&comma;e4&comma;e6&equals;e1e3e4&plus;e7&comma;e4&comma;e7&equals;e1&plus;e3&plus;e4e7&comma;e5&comma;e6&equals;3e4&comma;e5&comma;e7&equals;4e14e3e4e5&plus;2e6&plus;4e7&comma;e6&comma;e7&equals;e1&plus;e3&plus;e4e7

(2.1)

DGsetup(L):

 

We can use the Query command to determine that the algebra is decomposable.

Alg1 > 

Query("Indecomposable");

false

(2.2)

 

To actually find the direct sum decomposition, we use the Decompose command. With the optional argument factoralgebras = true, the Decompose procedure will return the Lie algebra data structures for each Lie algebra summand in the direct sum decomposition.

Alg1 > 

decomposition := Decompose(factoralgebras = true);

decomposition20002112101212130001313131110000010000001102110220212&comma;e1&plus;e3e7&comma;e4&comma;e52e6&comma;e1&plus;2e3&plus;2e4&plus;e532e632e7&comma;e2e3e4&comma;e1&plus;e3&plus;e53&plus;4e63&comma;e4e6e7&comma;e1&comma;e2&equals;e1&plus;e2&plus;e33&comma;e1&comma;e3&equals;6e19e2e3&comma;e2&comma;e3&equals;6e1&plus;6e2&plus;e3&comma;e1&comma;e2&equals;2e1e2&comma;

(2.3)

 

The output here is a list consisting of three entries. The first entry in the list is a matrix which defines a Lie algebra isomorphism from Alg1 to the Lie algebra defined by the basis given in the second entry. It is in this basis that the Lie algebra decomposes into a direct sum.  The third entry is the list of Lie algebra data structures for each of the summands.  There are a variety of ways one can verify that this decomposition is correct.

 

One approach is to calculate the structure equations for the Lie algebra with respect to the basis decomposition[2], initialize the result and verify that the Lie algebra is a direct sum in this new basis.

Alg1 > 

L2 := LieAlgebraData(decomposition[2], Alg2);

L2e1&comma;e2&equals;e1&plus;e2&plus;e33&comma;e1&comma;e3&equals;6e19e2e3&comma;e2&comma;e3&equals;6e1&plus;6e2&plus;e3&comma;e4&comma;e5&equals;2e4e5

(2.4)
Alg1 > 

DGsetup(L2, [f], [omega]);

Lie algebra: Alg2

(2.5)
Alg2 > 

MultiplicationTable("LieTable");

`|`f1f2f3f4f5f6f7-------------------------------f1`|`0f1&plus;f2&plus;f336f19f2f30000f2`|`f1f2f3306f1&plus;6f2&plus;f30000f3`|`6f1&plus;9f2&plus;f36f16f2f300000f4`|`00002f4f500f5`|`0002f4&plus;f5000f6`|`0000000f7`|`0000000

(2.6)

 

From the multiplication table we see that Alg2, which is same abstract Lie algebra as Alg1(just given in a different basis) is the direct sum of the

subalgebras S1, S2, S3 defined by:

Alg2 > 

S1 := [f1, f2, f3];

S1f1&comma;f2&comma;f3

(2.7)
Alg2 > 

S2 := [f4 ,f5];

S2f4&comma;f5

(2.8)
Alg2 > 

S3 := [f6, f7];

S3f6&comma;f7

(2.9)

 

We check that each of S1, S2, S3 is a subalgebra and that [Si, Sj] = 0 for i <>j.

Alg2 > 

Query(S1, "Subalgebra"), Query(S2, "Subalgebra"), Query(S3, "Subalgebra");

true&comma;true&comma;true

(2.10)
Alg2 > 

BracketOfSubspaces(S1,S2), BracketOfSubspaces(S1,S3),BracketOfSubspaces(S2,S3);

&comma;&comma;

(2.11)

 

This can be all be checked with the Query command.

Alg2 > 

Query([S1,S2,S3], "DirectSumDecomposition");

true

(2.12)

 

We can also use the Query command to verify that the matrix A =decomposition[1] is a Lie algebra homomorphism from Alg1 to Alg2

Alg2 > 

Query(Alg1, Alg2, decomposition[1], "Homomorphism");

true

(2.13)
Alg2 > 

 

 

Note that this check can actually be performed in the original basis for Alg1:

B:= decomposition[2];

Be1&plus;e3e7&comma;e4&comma;e52e6&comma;e1&plus;2e3&plus;2e4&plus;e532e632e7&comma;e2e3e4&comma;e1&plus;e3&plus;e53&plus;4e63&comma;e4e6e7

(2.14)
Alg1 > 

T1 := B[1..3];

T1e1&plus;e3e7&comma;e4&comma;e52e6

(2.15)
Alg1 > 

T2 := B[4..5];

T2e1&plus;2e3&plus;2e4&plus;e532e632e7&comma;e2e3e4

(2.16)
Alg1 > 

T3 := B[6..7];

T3e1&plus;e3&plus;e53&plus;4e63&comma;e4e6e7

(2.17)
Alg1 > 

Query([T1, T2, T3], "DirectSumDecomposition");

true

(2.18)

 

We can also use the third entry in the output of the Decompose command to construct the direct sum of the 3 given algebras. The resulting structure equations are

identical to the structure equations L2 for the basis decomposition[2].

 

Alg1 > 

L3 := DirectSum(decomposition[3], Alg3);

L3e1&comma;e2&equals;e1&plus;e2&plus;e33&comma;e1&comma;e3&equals;6e19e2e3&comma;e2&comma;e3&equals;6e1&plus;6e2&plus;e3&comma;e4&comma;e5&equals;2e4e5

(2.19)
Alg1 > 

L2;

e1&comma;e2&equals;e1&plus;e2&plus;e33&comma;e1&comma;e3&equals;6e19e2e3&comma;e2&comma;e3&equals;6e1&plus;6e2&plus;e3&comma;e4&comma;e5&equals;2e4e5

(2.20)

 

Finally, we can initialize any one of the summands in the third entry of the output and study its properties. For example, we find that the first summand is seni-simple.

Alg1 > 

DGsetup(decomposition[3][1]);

Lie algebra: Alg1:Factor1

(2.21)
Alg1:Factor1 > 

Query("Semisimple");

true

(2.22)
Alg1:Factor1 > 

 

 

Calculate the Levi decomposition of a Lie algebra

Every Lie algebra g admits a decomposition into the semi-direct sum g = r + s, where r is the radical of g and s is a semi-simple subalgebra.  Such a decomposition is called a Levi decomposition.  Since the radical is an ideal we have [r, r] in r, [r, s] in r, and [s, s] in s.  The radical r is uniquely defined but the semi-simple subalgebra s is not.

 

We demonstrate the calculation of the Levi decomposition using the LeviDecomposition command.

with(DifferentialGeometry): with(LieAlgebras):

L := _DG([["LieAlgebra", Alg1, [7]], [[[1, 2, 2], 2], [[1, 3, 2], -1], [[1, 3, 3], -2], [[1, 3, 4], 1], [[1, 3, 5], -1], [[1, 3, 7], 2], [[1, 4, 4], 2], [[1, 6, 6], -2], [[1, 7, 2], -1], [[1, 7, 4], 1], [[2, 3, 1], 1], [[2, 3, 2], 1], [[2, 3, 4], -1], [[2, 5, 2], -2], [[2, 5, 4], 2], [[2, 6, 5], 1], [[3, 4, 1], -1], [[3, 4, 5], 1], [[3, 5, 5], -1], [[3, 5, 6], 2], [[3, 6, 6], -1], [[4, 5, 2], -2], [[4, 5, 4], 2], [[4, 6, 5], 1], [[4, 7, 2], -1], [[4, 7, 4], 1], [[5, 7, 5], 1], [[6, 7, 6], 1]]]);

Alg1:Factor1 > 

DGsetup(L);

Le1&comma;e2&equals;2e2&comma;e1&comma;e3&equals;e22e3&plus;e4e5&plus;2e7&comma;e1&comma;e4&equals;2e4&comma;e1&comma;e6&equals;2e6&comma;e1&comma;e7&equals;e2&plus;e4&comma;e2&comma;e3&equals;e1&plus;e2e4&comma;e2&comma;e5&equals;2e2&plus;2e4&comma;e2&comma;e6&equals;e5&comma;e3&comma;e4&equals;e1&plus;e5&comma;e3&comma;e5&equals;e5&plus;2e6&comma;e3&comma;e6&equals;e6&comma;e4&comma;e5&equals;2e2&plus;2e4&comma;e4&comma;e6&equals;e5&comma;e4&comma;e7&equals;e2&plus;e4&comma;e5&comma;e7&equals;e5&comma;e6&comma;e7&equals;e6

Lie algebra: Alg1

(3.1)
Alg1 > 

LD := LeviDecomposition();

LDe2e4&comma;e5&comma;e6&comma;e7&comma;e1e4&comma;e2&comma;e3e7

(3.2)

 

The radical is given by the first list, the semisimple subalgebra by the second:

Alg1 > 

R := LD[1];

Re2e4&comma;e5&comma;e6&comma;e7

(3.3)
Alg1 > 

S := LD[2];

Se1e4&comma;e2&comma;e3e7

(3.4)

 

We use the Query command to check that that R and S have the required properties.

Alg1 > 

Query(R, "Ideal"), Query(R, "Solvable"),Query(S,"Semisimple");

true&comma;true&comma;true

(3.5)

 

Let us change to a basis adapted to the Levi decomposition.

Alg1 > 

B := [op(R), op(S)];

Be2e4&comma;e5&comma;e6&comma;e7&comma;e1e4&comma;e2&comma;e3e7

(3.6)
Alg1 > 

L1 := LieAlgebraData(B, Alg2);

L1e1&comma;e4&equals;e1&comma;e1&comma;e5&equals;2e1&comma;e1&comma;e7&equals;e2&comma;e2&comma;e4&equals;e2&comma;e2&comma;e5&equals;2e1&comma;e2&comma;e6&equals;2e1&comma;e2&comma;e7&equals;2e3&comma;e3&comma;e4&equals;e3&comma;e3&comma;e5&equals;e2&plus;2e3&comma;e3&comma;e6&equals;e2&comma;e5&comma;e6&equals;2e6&comma;e5&comma;e7&equals;e5e62e7&comma;e6&comma;e7&equals;e5&plus;e6

(3.7)
Alg1 > 

DGsetup(L1);

Lie algebra: Alg2

(3.8)

 

The structure equations in this adapted basis are much simpler. From the multiplication table, we can see clearly that [e1, e2, e3, e4] (the radical in the new basis) is an ideal and [e5, e6, e7] (the semisimple part) is a subalgebra.

Alg2 > 

MultiplicationTable("LieTable");

`|`e1e2e3e4e5e6e7-------------------------------e1`|`000e12e10e2e2`|`000e22e12e12e3e3`|`000e3e2&plus;2e3e20e4`|`e1e2e30000e5`|`2e12e1e22e3002e6e5e62e7e6`|`02e1e202e60e5&plus;e6e7`|`e22e300e5&plus;e6&plus;2e7e5e60

(3.9)

 

To show that the semisimple subalgebra is S is not unique, we find an automorphism of the original Lie algebra Alg and apply it to the vectors in our Levi decomposition.

Alg2 > 

ChangeFrame(Alg1);

Alg2

(3.10)

 

Define a matrix A and use it to define a linear transformation from Alg1 to Alg1.

Alg1 > 

A := Matrix([[1, 0, -1, 0, 0, 0, 0], [0, 1, 1, 0, 2, -1, 1], [0, 0, 1, 0, 0, 0, 0], [2, 0, -2, 1, -2, 1, -1], [0, 0, 1, 0, 1, -1, 0], [0, 0, 0, 0, 0, 1, 0], [0, 0, 0, 0, 0, 0, 1]]);

A1010000011021100100002021211001011000000100000001

(3.11)
Alg1 > 

phi := Transformation(Alg1, Alg1, A);

&phi;e1&comma;e1&plus;2e4&comma;e2&comma;e2&comma;e3&comma;e1&plus;e2&plus;e32e4&plus;e5&comma;e4&comma;e4&comma;e5&comma;2e22e4&plus;e5&comma;e6&comma;e2&plus;e4e5&plus;e6&comma;e7&comma;e2e4&plus;e7

(3.12)

 

Check that phi is a Lie algebra homomorphism.

Alg1 > 

Query(phi,"Homomorphism");

true

(3.13)

 

Apply the automorphism phi to the vectors in the radical.

Alg1 > 

R;

e2e4&comma;e5&comma;e6&comma;e7

(3.14)
Alg1 > 

newR := map2(ApplyHomomorphism, phi, R);

newRe2e4&comma;2e22e4&plus;e5&comma;e2&plus;e4e5&plus;e6&comma;e2e4&plus;e7

(3.15)
Alg1 > 

newR := Tools:-CanonicalBasis(newR, [e1,e2,e3,e4,e5,e6,e7]);

newRe2e4&comma;e5&comma;e6&comma;e7

(3.16)

This is exactly the same same as R, illustrating the fact that the radical is an automorphism invariant.

 

Apply the automorphism phi to the vectors in the semisimple algebra.

Alg1 > 

S;

e1e4&comma;e2&comma;e3e7

(3.17)
Alg1 > 

newS := map2(ApplyHomomorphism, phi, S);

newSe1&plus;e4&comma;e2&comma;e1&plus;e3e4&plus;e5e7

(3.18)
Alg1 > 

newS := Tools:-CanonicalBasis(newS, [e1,e2,e3,e4,e5,e6,e7]);

newSe1&plus;e4&comma;e2&comma;e3&plus;e5e7

(3.19)
Alg1 > 

Tools:-DGequal(S,newS);

false

(3.20)

Thus the semisimple algebra S is changed by the automorphism phi. This gives us a second Levi-decomposition:

Alg1 > 

newLD := [newR, newS];

newLDe2e4&comma;e5&comma;e6&comma;e7&comma;e1&plus;e4&comma;e2&comma;e3&plus;e5e7

(3.21)
Alg1 >