compute the Levi decomposition of a Lie algebra - Maple Programming Help

Online Help

All Products    Maple    MapleSim


Home : Support : Online Help : Mathematics : DifferentialGeometry : LieAlgebras : DifferentialGeometry/LieAlgebras/LeviDecomposition

LieAlgebras[LeviDecomposition] - compute the Levi decomposition of a Lie algebra

Calling Sequences

     LeviDecomposition(Alg, save)

Parameters

     Alg        - (optional) the name of an initialized Lie algebra

     save       - (optional) equation of the form saveTemporaryAlgebras = TF, where TF is true or false

 

Description

Examples

Description

• 

Every Lie algebra 𝔤 admits a decomposition into the semi-direct sum 𝔤 = r + s ,where r is the radical of 𝔤 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 r , r, s r and s,s] s. The radical r is uniquely defined but the semi-simple subalgebra s is not.

• 

LeviDecomposition(Alg) calculates a Levi decomposition of the Lie algebra Alg,. If no argument is given, a Levi decomposition of the current algebra is computed.

• 

With saveTemporaryAlgebras = true, the Lie algebras created by the program as part of the Levi decomposition algorithm are not erased and can be initialized for further analysis. Use this option in conjunction with userlevel[LeviDecomposition] := 2. The default is saveTemporaryAlgebras = false.

• 

A list R, Sof two lists of vectors is returned, where R is a basis for the radical and S is a basis for the semi-simple part. Either list may be empty.

• 

This module implements the algorithm for finding the Levi decomposition described in

 [i] Patera, Winternitz and Zassenhaus, On the Identification of a Lie Algebra Given by its Structure Constants I. Direct Decompositions, Levi Decompositions and Nilradicals, Journal of Linear Algebra and its Applications, 109, (1988): 197-246.

[ii] W. D. Rand, Pascal programs for the identification of Lie algebras I, Comput. Phys. Comm. 41: 105--125 (1986)

• 

The command LeviDecomposition is part of the DifferentialGeometry:-LieAlgebras package. It can be used in the form LeviDecomposition(...) only after executing the commands with(DifferentialGeometry) and with(LieAlgebras), but can always be used by executing DifferentialGeometry:-LieAlgebras:-LeviDecomposition(...).

Examples

with(DifferentialGeometry): with(LieAlgebras):

 

Example 1.

In this example we shall check that the output of LeviDecomposition does indeed lead to a Levi decomposition of the algebra. First we initialize a 6 dimensional Lie algebra and display the Lie bracket multiplication table.

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

L1:=e1,e2=e1+2e2+e4,e1,e3=e1+e3+e4e6,e1,e4=2e4,e1,e6=e1e4e6,e2,e3=e1+e3+e4e6,e2,e4=e1e4,e2,e6=e1+2e2+e3+e4e6,e3,e4=e1+e4e6,e3,e5=e3,e3,e6=2e1+e3+2e42e6,e4,e6=2e4,e5,e6=e1+e4e6

(2.1)

DGsetup(L1):

 

Now compute the Levi decomposition.

Alg1 > 

LD := LeviDecomposition();

LD:=e1e4+e6,e3,e5,e1,e2,e4

(2.2)

 

So the radical of this Lie algebra is R = span e1e4+e6,e3, e5 and the semi-simple part is R = spane1,e2,e4. We can check this result by [i] calculating the radical directly, [ii] checking that R is an ideal, [iii] checking that R is solvable and [iv] checking that S is a semisimple subalgebra.

Alg1 > 

R := LD[1]; S := LD[2];

R:=e1e4+e6,e3,e5

S:=e1,e2,e4

(2.3)
Alg1 > 

Radical();

e3,e1e4+e6,e5

(2.4)
Alg1 > 

Query(R, "Ideal");

true

(2.5)
Alg1 > 

Query(R, "Solvable");

true

(2.6)
Alg1 > 

Query(S, "Subalgebra");

true

(2.7)
Alg1 > 

Query(S, "Semisimple");

true

(2.8)

 

The first step in transforming the algebra Alg1 to canonical form is to change the basis of the Lie algebra to that provided by the Levi decomposition.

Alg1 > 

B := map (op,LD);

B:=e1e4+e6,e3,e5,e1,e2,e4

(2.9)

 

Compute the structure equations for the Lie algebra in this basis.

Alg1 > 

L3 := LieAlgebraData(B, Alg3);

L3:=e1,e3=e1,e1,e4=e1,e1,e5=e1e2,e2,e3=e2,e2,e4=e1e2,e2,e5=e1e2,e2,e6=e1,e4,e5=e4+2e5+e6,e4,e6=2e6,e5,e6=e4e6

(2.10)

 

Initialize this Lie algebra data structure and display the multiplication table.

Alg1 > 

DGsetup(L3);

Lie algebra: Alg3

(2.11)
Alg3 > 

MultiplicationTable("LieBracket");

e1,e3=e1,e1,e4=e1,e1,e5=e1e2,e2,e3=e2,e2,e4=e1e2,e2,e5=e1e2,e2,e6=e1,e4,e5=e4+2e5+e6,e4,e6=2e6,e5,e6=e4e6

(2.12)

See Also

DifferentialGeometry

LieAlgebras

Killing

Query[Ideal]

Query[LeviDecomposition]