find the nilradical of a Lie algebra - Maple Programming Help

Calling Sequences

Parameters

LieAlgName  - (optional) name or string, the name of a Lie algebra

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

Description

 • The nilradical nil($\mathrm{𝔤}$) of a Lie algebra $\mathrm{𝔤}$ is the largest nilpotent ideal contained in $\mathrm{𝔤}$.
 • Nilradical(LieAlgName) calculates the nilradical of the Lie algebra g defined by LieAlgName. If no argument is given, then the nilradical of the current Lie algebra is found.
 • A list of vectors defining a basis for the nilradical of is returned. If the nilradical of g is trivial, then an empty list is returned.
 • With saveTemporaryAlgebras = true, the Lie algebras created by the program as part of the algorithm for finding the nilradical are not erased and can be initialized for further analysis. Use this option in conjunction with infolevel[Nilradical] := 2. The default is saveTemporaryAlgebras = false.
 • This module implements the algorithm 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. [ii] W. D. Rand, Pascal programs for the identification of Lie algebras I, Comput. Phys. Comm. 41: 105--125 (1986)
 • The command Nilradical is part of the DifferentialGeometry:-LieAlgebras package. It can be used in the form Nilradical(...) only after executing the commands with(DifferentialGeometry) and with(LieAlgebras), but can always be used by executing DifferentialGeometry:-LieAlgebras:-Nilradical(...).

Examples

 > with(DifferentialGeometry): with(LieAlgebras):

Example 1.

First we initialize a Lie algebra and then display its multiplication table.

 > L1 := _DG([["LieAlgebra", Alg1, [5]], [[[2, 3, 1], 1], [[2, 5, 3], 1], [[4, 5, 4], 1]]]):
 Alg1   > DGsetup(L1):
 > MultiplicationTable("LieBracket");
 $\left[\left[{\mathrm{e2}}{,}{\mathrm{e3}}\right]{=}{\mathrm{e1}}{,}\left[{\mathrm{e2}}{,}{\mathrm{e5}}\right]{=}{\mathrm{e3}}{,}\left[{\mathrm{e4}}{,}{\mathrm{e5}}\right]{=}{\mathrm{e4}}\right]$ (2.1)

We calculate the nilradical of Alg1 to be 4-dimensional and check that the result is indeed nilpotent. Note that the Lie algebra Alg1 is itself solvable.

 ${N}{:=}\left[{\mathrm{e1}}{,}{\mathrm{e2}}{,}{\mathrm{e3}}{,}{\mathrm{e4}}\right]$ (2.2)
 Alg1 > Query(N, "Nilpotent");
 ${\mathrm{true}}$ (2.3)
 Alg1 > Query(N, "Solvable");
 ${\mathrm{true}}$ (2.4)

Example 2.

We show, by way of an example, that the nilradical of a semisimple algebra is trivial.

 Alg1 > L2 := _DG([["LieAlgebra", Alg2, [3]], [[[2, 3, 1], 1], [[1, 3, 2], -1], [[1, 2, 3], 1]]]);
 ${\mathrm{L2}}{:=}\left[\left[{\mathrm{e1}}{,}{\mathrm{e2}}\right]{=}{\mathrm{e3}}{,}\left[{\mathrm{e1}}{,}{\mathrm{e3}}\right]{=}{-}{\mathrm{e2}}{,}\left[{\mathrm{e2}}{,}{\mathrm{e3}}\right]{=}{\mathrm{e1}}\right]$ (2.5)
 Alg1 > DGsetup(L2):
 Alg2 > Query("Semisimple");
 ${\mathrm{true}}$ (2.6)
 $\left[{}\right]$ (2.7)

Example 3.

In this example we calculate the nilradical of a certain 4-dimensional Lie algebra. The computations can be examined by setting infolevel[Nilradical] to 2 or 3. With a value of 2, an outline of the main steps is displayed while a value of 3 provides all the intermediate steps. To properly display the results of these intermediate calculations, set saveTemporaryAlgebras = true.

 Alg2 > L := _DG([["LieAlgebra", Alg3 , [4]], [[[1, 4, 1], 1], [[2, 4, 1], 1], [[2, 4, 2], 1], [[3, 4, 2], 1], [[3, 4, 3], 1]]]);
 ${L}{:=}\left[\left[{\mathrm{e1}}{,}{\mathrm{e4}}\right]{=}{\mathrm{e1}}{,}\left[{\mathrm{e2}}{,}{\mathrm{e4}}\right]{=}{\mathrm{e1}}{+}{\mathrm{e2}}{,}\left[{\mathrm{e3}}{,}{\mathrm{e4}}\right]{=}{\mathrm{e2}}{+}{\mathrm{e3}}\right]$ (2.8)
 Alg2 > DGsetup(L, [X],[zeta]);
 ${\mathrm{Lie algebra: Alg3}}$ (2.9)
 ${{\mathrm{infolevel}}}_{{\mathrm{Nilradical}}}{:=}{2}$ (2.10)
 Begin Step 1:    solradical(Alg3) = [X1, X2, X3, X4]    the radical of Alg3 is re-initialized as Alg3:1 End of Step 1 Begin Step 2:    derived algebra( Alg3:1) =  A1 = [_e1, _e1+_e2, _e2+_e3]    2nd derived algebra( Alg3:1) =  A2 = []    the factor algebra of Alg3:1  by the 2nd derived algebra A2 is initialized as Alg3:2       projection([_e1, _e2, _e3, _e4]) = [_e5, _e6, _e7, _e8]       _DG([["LieAlgebra", Alg3:2, [4]], [[[1, 4, 1], 1], [[2, 4, 1], 1], [[2, 4, 2], 1], [[3, 4, 2], 1], [[3, 4, 3], 1]]]) End of Step 2 Begin Step 3:    hypercenter( Alg3:2) = C = []    the factor algebra of Alg3:2  by the hypercenter C is initialized as Alg3:3       projection([_e5, _e6, _e7, _e8]) = [_e9, _e10, _e11, _e12]       _DG([["LieAlgebra", Alg3:3, [4]], [[[1, 4, 1], 1], [[2, 4, 1], 1], [[2, 4, 2], 1], [[3, 4, 2], 1], [[3, 4, 3], 1]]]) End of Step 3 Begin Step 4:    derived-algebra(Alg3:3) = U = [_e9, _e10, _e11]    complement to U in Alg3:3 = V = [_e12] End of Step 4 Begin the Step 5 thru 8 loop, iteration = 1. Begin Step 5.1:    using the vector X = _e12    f_1 =  _z1+1       _z1+1 factors as [[_z1+1, 1]]       f_1  is  square-free so go to Step 8.1 End of Step 5.1: Begin Step 8.1:    the centralizer of _e9 in Alg3:3 is = M = [_e9, _e10, _e11]    since M = U, the  nilradical of Alg3:3 is U Begin Step 9:    nilradical(Alg3:3) = [_e9, _e10, _e11])    add in the hypercenter C to get nilradical of Alg3:2    nilradical(Alg3:2) = [_e5, _e6, _e7])    add in the 2nd derived algebra  A2 to get nilradical of Alg3:1    nilradical(Alg3:1) = [_e1, _e2, _e3])       (recall that Alg3:1 is the nilradical of  Alg3)    nilradical(Alg3) = [X1, X2, X3] End of Step 9: $\left[{\mathrm{X1}}{,}{\mathrm{X2}}{,}{\mathrm{X3}}\right]$ (2.11)