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

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

 • Every Lie algebra $\mathrm{𝔤}$ admits a decomposition into the semi-direct sum ,where 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 ,  and The radicalis uniquely defined but the semi-simple subalgebra 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 of two lists of vectors is returned, where is a basis for the radical and 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]]]);
 ${\mathrm{L1}}{:=}\left[\left[{\mathrm{e1}}{,}{\mathrm{e2}}\right]{=}{-}{\mathrm{e1}}{+}{2}{}{\mathrm{e2}}{+}{\mathrm{e4}}{,}\left[{\mathrm{e1}}{,}{\mathrm{e3}}\right]{=}{-}{\mathrm{e1}}{+}{\mathrm{e3}}{+}{\mathrm{e4}}{-}{\mathrm{e6}}{,}\left[{\mathrm{e1}}{,}{\mathrm{e4}}\right]{=}{-}{2}{}{\mathrm{e4}}{,}\left[{\mathrm{e1}}{,}{\mathrm{e6}}\right]{=}{-}{\mathrm{e1}}{-}{\mathrm{e4}}{-}{\mathrm{e6}}{,}\left[{\mathrm{e2}}{,}{\mathrm{e3}}\right]{=}{-}{\mathrm{e1}}{+}{\mathrm{e3}}{+}{\mathrm{e4}}{-}{\mathrm{e6}}{,}\left[{\mathrm{e2}}{,}{\mathrm{e4}}\right]{=}{\mathrm{e1}}{-}{\mathrm{e4}}{,}\left[{\mathrm{e2}}{,}{\mathrm{e6}}\right]{=}{-}{\mathrm{e1}}{+}{2}{}{\mathrm{e2}}{+}{\mathrm{e3}}{+}{\mathrm{e4}}{-}{\mathrm{e6}}{,}\left[{\mathrm{e3}}{,}{\mathrm{e4}}\right]{=}{-}{\mathrm{e1}}{+}{\mathrm{e4}}{-}{\mathrm{e6}}{,}\left[{\mathrm{e3}}{,}{\mathrm{e5}}\right]{=}{\mathrm{e3}}{,}\left[{\mathrm{e3}}{,}{\mathrm{e6}}\right]{=}{-}{2}{}{\mathrm{e1}}{+}{\mathrm{e3}}{+}{2}{}{\mathrm{e4}}{-}{2}{}{\mathrm{e6}}{,}\left[{\mathrm{e4}}{,}{\mathrm{e6}}\right]{=}{-}{2}{}{\mathrm{e4}}{,}\left[{\mathrm{e5}}{,}{\mathrm{e6}}\right]{=}{-}{\mathrm{e1}}{+}{\mathrm{e4}}{-}{\mathrm{e6}}\right]$ (2.1)
 > DGsetup(L1):

Now compute the Levi decomposition.

 Alg1 > LD := LeviDecomposition();
 ${\mathrm{LD}}{:=}\left[\left[{\mathrm{e1}}{-}{\mathrm{e4}}{+}{\mathrm{e6}}{,}{\mathrm{e3}}{,}{\mathrm{e5}}\right]{,}\left[{\mathrm{e1}}{,}{\mathrm{e2}}{,}{\mathrm{e4}}\right]\right]$ (2.2)

So the radical of this Lie algebra is span and the semi-simple part is span$\left\{{e}_{1},{e}_{2},{e}_{4}\right\}$. 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}{:=}\left[{\mathrm{e1}}{-}{\mathrm{e4}}{+}{\mathrm{e6}}{,}{\mathrm{e3}}{,}{\mathrm{e5}}\right]$ ${S}{:=}\left[{\mathrm{e1}}{,}{\mathrm{e2}}{,}{\mathrm{e4}}\right]$ (2.3)
 $\left[{\mathrm{e3}}{,}{\mathrm{e1}}{-}{\mathrm{e4}}{+}{\mathrm{e6}}{,}{\mathrm{e5}}\right]$ (2.4)
 Alg1 > Query(R, "Ideal");
 ${\mathrm{true}}$ (2.5)
 Alg1 > Query(R, "Solvable");
 ${\mathrm{true}}$ (2.6)
 Alg1 > Query(S, "Subalgebra");
 ${\mathrm{true}}$ (2.7)
 Alg1 > Query(S, "Semisimple");
 ${\mathrm{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}{:=}\left[{\mathrm{e1}}{-}{\mathrm{e4}}{+}{\mathrm{e6}}{,}{\mathrm{e3}}{,}{\mathrm{e5}}{,}{\mathrm{e1}}{,}{\mathrm{e2}}{,}{\mathrm{e4}}\right]$ (2.9)

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

 Alg1 > L3 := LieAlgebraData(B, Alg3);
 ${\mathrm{L3}}{:=}\left[\left[{\mathrm{e1}}{,}{\mathrm{e3}}\right]{=}{\mathrm{e1}}{,}\left[{\mathrm{e1}}{,}{\mathrm{e4}}\right]{=}{\mathrm{e1}}{,}\left[{\mathrm{e1}}{,}{\mathrm{e5}}\right]{=}{\mathrm{e1}}{-}{\mathrm{e2}}{,}\left[{\mathrm{e2}}{,}{\mathrm{e3}}\right]{=}{\mathrm{e2}}{,}\left[{\mathrm{e2}}{,}{\mathrm{e4}}\right]{=}{\mathrm{e1}}{-}{\mathrm{e2}}{,}\left[{\mathrm{e2}}{,}{\mathrm{e5}}\right]{=}{\mathrm{e1}}{-}{\mathrm{e2}}{,}\left[{\mathrm{e2}}{,}{\mathrm{e6}}\right]{=}{-}{\mathrm{e1}}{,}\left[{\mathrm{e4}}{,}{\mathrm{e5}}\right]{=}{-}{\mathrm{e4}}{+}{2}{}{\mathrm{e5}}{+}{\mathrm{e6}}{,}\left[{\mathrm{e4}}{,}{\mathrm{e6}}\right]{=}{-}{2}{}{\mathrm{e6}}{,}\left[{\mathrm{e5}}{,}{\mathrm{e6}}\right]{=}{\mathrm{e4}}{-}{\mathrm{e6}}\right]$ (2.10)

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

 Alg1 > DGsetup(L3);
 ${\mathrm{Lie algebra: Alg3}}$ (2.11)
 Alg3 > MultiplicationTable("LieBracket");
 $\left[\left[{\mathrm{e1}}{,}{\mathrm{e3}}\right]{=}{\mathrm{e1}}{,}\left[{\mathrm{e1}}{,}{\mathrm{e4}}\right]{=}{\mathrm{e1}}{,}\left[{\mathrm{e1}}{,}{\mathrm{e5}}\right]{=}{\mathrm{e1}}{-}{\mathrm{e2}}{,}\left[{\mathrm{e2}}{,}{\mathrm{e3}}\right]{=}{\mathrm{e2}}{,}\left[{\mathrm{e2}}{,}{\mathrm{e4}}\right]{=}{\mathrm{e1}}{-}{\mathrm{e2}}{,}\left[{\mathrm{e2}}{,}{\mathrm{e5}}\right]{=}{\mathrm{e1}}{-}{\mathrm{e2}}{,}\left[{\mathrm{e2}}{,}{\mathrm{e6}}\right]{=}{-}{\mathrm{e1}}{,}\left[{\mathrm{e4}}{,}{\mathrm{e5}}\right]{=}{-}{\mathrm{e4}}{+}{2}{}{\mathrm{e5}}{+}{\mathrm{e6}}{,}\left[{\mathrm{e4}}{,}{\mathrm{e6}}\right]{=}{-}{2}{}{\mathrm{e6}}{,}\left[{\mathrm{e5}}{,}{\mathrm{e6}}\right]{=}{\mathrm{e4}}{-}{\mathrm{e6}}\right]$ (2.12)