convert an array of structure constants to a Lie algebra data structure - Maple Programming Help

Online Help

All Products    Maple    MapleSim

Home : Support : Online Help : Mathematics : DifferentialGeometry : LieAlgebras : LieAlgebraData : DifferentialGeometry/LieAlgebras/LieAlgebraData/StructureConstants

LieAlgebraData[StructureConstants] - convert an array of structure constants to a Lie algebra data structure

Calling Sequence

     LieAlgebraData(StructureConstants, AlgName)


     StructureConstants  - a 3-dimensional array C

     AlgName             - a name or string, the name to be assigned to the Lie algebra






In the LieAlgebras package, the command DGsetup is used to initialize a Lie algebra -- that is, to define the basis elements for the Lie algebra and its dual and to store the structure constants for the Lie algebra in memory.  The first argument for DGsetup is a Lie algebra data structure which contains the structure constants in a standard format used by the LieAlgebras package.


One commonly used format for describing the structure equations of a Lie algebra is to specify the structure constants C as an n ×n ×n array, where n is the dimension of the Lie algebra to be created. The structure constants Cijk are defined to be the Lie brackets of the basis elements of the Lie algebra by ei, ek =k=1nCijk ek.


The function LieAlgebraData enables one to create a Lie algebra in Maple from an array C.  Only the entries Cijk, where i<j&comma; need be specified.


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


with(DifferentialGeometry): with(LieAlgebras):


Example 1.

In this example we create a 4-dimensional Lie algebra called Ex1 from an Array of structure constants.

First we define an array and initialize all the entries to zero.  Then we specify the non-zero structure constants.

C := Array(1..4, 1..4, 1..4, 0):

C[1, 4, 1] := a:

C[2, 3, 1] := b:

C[3, 4, 2] := c:

C[3, 4, 3] := a:


LieAlgebraData gives us a Lie algebra data structure with these structure constants.

L1 := LieAlgebraData(C, Ex1);




Ex1 > 





Note that the structure constants in an Array C for an initialized Lie algebra can be obtained using DGinfo. (This command also applies to the structure equations for any frame or manifold and is not restricted in its use to Lie algebras.)

Ex1 > 

K := Array(1..4, 1..4, 1..4, (i, j ,k) -> Tools:-DGinfo([i, j, k], "LieBracketStructureFunction"));

K:= 1..4 x 1..4 x 1..4 ArrayData Type: anythingStorage: rectangularOrder: Fortran_order

Ex1 > 

K[1, 4, 1];


Ex1 > 

K[4, 1, 1];



See Also