LieAlgebras[SemiDirectSum] - create the semi-direct sum of two Lie algebras
Calling Sequences
SemiDirectSum(AlgName1, AlgName2, Phi, Derivations, AlgName3)
Parameters
AlgName1 - a name or string, the name of a Lie algebra
AlgName2 - a name or string, the name of a Lie algebra
Phi - a transformation defining Lie algebra homomorphism from to the Lie algebra of derivations of
Derivations - a list of matrices defining the Lie algebra of derivations of
AlgName3 - a name or string, the name for the semi-direct sum algebra
|
Description
|
|
•
|
A semi-direct sum for a Lie algebra is a vector space decomposition where is an ideal and is a subalgebra. For each , the adjoint matrix ad restricts to a derivation on Conversely, given Lie algebras and and a Lie algebra homomorphism der(, a Lie bracket can be defined on the vector space by setting
|
for all and
With respect to this bracket on , is an ideal.
•
|
To create a semi-direct sum of and using the program SemiDirectSum, first use the program Derivations to calculate the matrix algebra of derivations for . Then use the program LieAlgebraData to obtain the Lie algebra data structure for the algebra of derivations der(. Then use the transformation program to create a homomorphism from to der(. This gives all the data needed for the SemiDirectSum program.
|
•
|
The program SemiDirectSum returns the Lie algebra data structure for the semi-direct sum. A Lie algebra data structure contains the structure constants in a standard format used by the LieAlgebras package. 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 command SemiDirectSum is part of the DifferentialGeometry:-LieAlgebras package. It can be used in the form SemiDirectSum(...) only after executing the commands with(DifferentialGeometry) and with(LieAlgebras), but can always be used by executing DifferentialGeometry:-LieAlgebras:-SemiDirectSum(...).
|
|
|
Examples
|
|
>
|
with(DifferentialGeometry): with(LieAlgebras):
|
Example 1.
First we initialize a pair of Lie algebras and display their multiplication tables.
>
|
L1 := _DG([["LieAlgebra", Alg1, [3]], [[[1, 3, 1], 1], [[2, 3, 1], 1], [[2, 3, 2], 1]]]);
|
| (2.1) |
Alg1 >
|
L2 := _DG([["LieAlgebra", Alg2, [2]],[[[1, 2, 1], 1]]]):
|
Alg1 >
|
DGsetup(L2, [y], [b]):
|
Alg2 >
|
MultiplicationTable(Alg1, "LieTable"), MultiplicationTable(Alg2, "LieTable");
|
Alg2 is the current algebra so we switch back to Alg1 and compute the Matrix algebra of derivations. We find the derivation algebra to be 4 dimensional and we save the result as Der.
Alg2 >
|
ChangeLieAlgebraTo(Alg1):
|
Alg1 >
|
Derivations("Full");
|
Alg1 >
|
Der := map(Matrix, [[[1, 0, 0], [0, 1, 0], [0, 0, 0]], [[0, 1, 0], [0, 0, 0], [0, 0, 0]], [[0, 0, 1], [0, 0, 0], [0, 0, 0]], [[0, 0, 0], [0, 0, 1], [0, 0, 0]]]);
|
Convert the Matrix algebra Der into an abstract Lie algebra called Alg3 and initialize.
Alg1 >
|
L3 := LieAlgebraData(Der, Alg3);
|
| (2.2) |
Alg1 >
|
DGsetup(L3, [E], [c]):
|
Alg3 >
|
MultiplicationTable("LieTable");
|
Define a linear transformation from Alg1 to Alg3 and check that the result is a Lie algebra homomorphism. (There can be many such maps.)
Alg3 >
|
Phi := Transformation([[y1, E4], [y2, (-1) &mult E1]]);
|
| (2.3) |
Alg3 >
|
Query(Alg2, Alg3, Phi, "Homomorphism");
|
Now run the SemiDirectSum program. Keep in mind that the Matrices defining the derivations of Alg1 must be listed in the fourth argument in the same order that was used to initialize the derivations as an abstract Lie algebra.
Alg3 >
|
L4 := SemiDirectSum(Alg1, Alg2, Phi, Der, Alg4);
|
| (2.5) |
Alg4 >
|
MultiplicationTable("LieTable");
|
Let's perform a number of checks on this result. First check that Alg4 is indeed a Lie algebra.
Alg4 >
|
Query(Alg4, "Jacobi");
|
Check that is a basis for an ideal and is a subalgebra.
Alg4 >
|
Query([e1, e2, e3], "Ideal"), Query([e4, e5], "Subalgebra");
|
Next we note that the map sends to which corresponds to the matrix Der[4]. In the semi-direct sum becomes and the restriction of ad(to the subspace spanned by is the matrix Der[4].
Alg4 >
|
ApplyHomomorphism(Phi, y1), Der[4], Adjoint(e4, [e1, e2, e3]);
|
Likewise, the map sends to which corresponds to the Matrix - Der[1]. In the semi-direct sum becomes and the restriction of ad(to the subspace spanned by is the matrix - Der[1].
Alg3 >
|
ApplyHomomorphism(Phi, y2), Der[1], Adjoint(e5, [e1, e2, e3]);
|
|
|
|
|
|
|