find the nilradical of a Lie algebra - Maple Programming Help

Online Help

All Products    Maple    MapleSim


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

LieAlgebras[Nilradical] - find the nilradical of a Lie algebra

Calling Sequences

     Nilradical(LieAlgName, saveAlg)

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

Examples

Description

• 

The nilradical nil(𝔤) of a Lie algebra 𝔤 is the largest nilpotent ideal contained in 𝔤.

• 

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");

e2,e3=e1,e2,e5=e3,e4,e5=e4

(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.

Alg1 > 

N := Nilradical(Alg1);

N:=e1,e2,e3,e4

(2.2)
Alg1 > 

Query(N, "Nilpotent");

true

(2.3)
Alg1 > 

Query(N, "Solvable");

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]]]);

L2:=e1,e2=e3,e1,e3=e2,e2,e3=e1

(2.5)
Alg1 > 

DGsetup(L2):

Alg2 > 

Query("Semisimple");

true

(2.6)
Alg2 > 

Nilradical();

(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:=e1,e4=e1,e2,e4=e1+e2,e3,e4=e2+e3

(2.8)
Alg2 > 

DGsetup(L, [X],[zeta]);

Lie algebra: Alg3

(2.9)
Alg3 > 

infolevel[Nilradical] := 2;

infolevelNilradical:=2

(2.10)
Alg3 > 

Nilradical(saveTemporaryAlgebras = true);

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:

X1,X2,X3

(2.11)

See Also

DifferentialGeometry

LieAlgebras

infolevel

Query[Nilpotent]

Radical