|
|
DirectSum(L, M) : AlgMatLie, AlgMatLie -> AlgMatLie
Given Lie algebras L and M, this intrinsic constructs a Lie algebra of
dimension n + m, where n and m are the dimensions of L and M,
respectively. The basis of the new algebra is the concatenation of the bases
of L and M and the products a * b where a ∈L and b ∈M are
defined to be zero.
IndecomposableSummands(L) : AlgMatLie -> [ AlgMatLie ]
DirectSumDecomposition(L) : AlgLie -> [ AlgLie ]
DirectSumDecomposition(L) : AlgMatLie -> [ AlgMatLie ]
Given a Lie algebra L, the function returns the direct sum decomposition
of L as a sequence of ideals of L whose sum is L and each of which
cannot be further decomposed into a direct sum of ideals.
The algorithms used for this function are described in [dG00],
Para 4.12 (semisimple case), Para 1.15 (general case).
We compute the direct sum decomposition of
the simple Lie algebra of type D 2 over the rational field.
> L := LieAlgebra("D2", RationalField());
> L;
Lie Algebra of dimension 6 with base ring Rational Field
> D := DirectSumDecomposition(L);
> D;
[
Lie Algebra of dimension 3 with base ring Rational Field,
Lie Algebra of dimension 3 with base ring Rational Field
]
> Morphism(D[1], L);
[ 0 1 0 0 0 0]
[ 0 0 1 -1 0 0]
[ 0 0 0 0 1 0]
> Morphism(D[2], L);
[1 0 0 0 0 0]
[0 0 1 1 0 0]
[0 0 0 0 0 1]
Centre(L) : AlgMatLie -> AlgMatLie
Center(L) : AlgLie -> AlgLie
Center(L) : AlgMatLie -> AlgMatLie
Given a Lie algebra L, returns the centreof L.
Centraliser(L, K) : AlgMatLie, AlgMatLie -> AlgMatLie, Map
Centralizer(L, K) : AlgLie, AlgLie -> AlgLie, Map
Centralizer(L, K) : AlgMatLie, AlgMatLie -> AlgMatLie, Map
Given a Lie algebra L and a subalgebra K of L,
returns the centraliserof K in L,
and its injection into L.
Centraliser(L, x) : AlgMatLie, AlgMatLieElt -> AlgMatLie, Map
Centralizer(L, x) : AlgLie, AlgLieElt -> AlgLie, Map
Centralizer(L, x) : AlgMatLie, AlgMatLieElt -> AlgMatLie, Map
Given a Lie algebra L and an element x of L,
returns the centraliserof x in L,
and its injection into L.
Normaliser(L, K) : AlgMatLie, AlgMatLie -> AlgMatLie
Normalizer(L, K) : AlgLie, AlgLie -> AlgLie
Normalizer(L, K) : AlgMatLie, AlgMatLie -> AlgMatLie
Given a Lie algebra L and a subalgebra K of L,
returns the normaliserof
K in L, and its injection into L.
SolubleRadical(L) : AlgMatLie -> AlgMatLie
SolvableRadical(L) : AlgLie -> AlgLie
SolvableRadical(L) : AlgMatLie -> AlgMatLie
Given a Lie algebra L, returns the soluble radicalof L.
We refer to [dG00], Para 2.6 for the algorithm used to implement this
function.
Nilradical(L) : AlgMatLie -> AlgMatLie
Given a Lie algebra L, returns the nilradicalof L.
The algorithm makes use of Cartan subalgebras. We refer to [dG00],
pp. 84, 85 for its description.
We demonstrate the functions for performing basic operations with Lie algebras
such as centre, normalizer etc.
> L := LieAlgebra("D4", RationalField());
> L;
Lie Algebra of dimension 28 with base ring Rational Field
> Centre(L);
Lie Algebra of dimension 0 with base ring Rational Field
> K := sub< L | [L.1, L.2, L.3] >;
> Centralizer(L, K);
Lie Algebra of dimension 10 with base ring Rational Field
> Normalizer(L, K);
Lie Algebra of dimension 19 with base ring Rational Field
> M := Centralizer(L, K);
> S := SolvableRadical(M);
> S;
Lie Algebra of dimension 10 with base ring Rational Field
> Morphism(S, L);
[1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
[0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
[0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
[0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
[0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
[0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
[0 0 0 0 0 0 1 0 0 0 0 -1 0 0 0 -1 0 0 -1 0 0 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
> Nilradical(M);
Lie Algebra of dimension 9 with base ring Rational Field
CartanSubalgebra(L) : AlgMatLie -> AlgMatLie
Given a Lie algebra L, this function returns a Cartan
subalgebraof L.
The algorithm works for Lie algebras L defined over a field F such that
|F| > dim L and for restricted Lie algebras of characteristic p.
If the Lie algebra does not fit into one of these classes then the
correctness of the output is not guaranteed.
The algorithm used is described in [dG00], Para 3.2.
IsCartanSubalgebra(L, H) : AlgMatLie, AlgMatLie -> BoolElt
The intrinsic returns true if H is a Cartan subalgebra of L,
i.e., whether H is nilpotent and NL(H) = 0.
We compute a Cartan subalgebra of the simple Lie algebra of type A 4 over
the rational field.
> L := LieAlgebra("F4", RationalField());
> L;
Lie Algebra of dimension 52 with base ring Rational Field
> H := CartanSubalgebra(L);
Lie Algebra of dimension 4 with base ring Rational Field
> H*H;
Lie Algebra of dimension 0 with base ring Rational Field
> Normalizer(L, H);
Lie Algebra of dimension 4 with base ring Rational Field
Given a Lie algebra L over a field k of characteristic at least 5,
a split Cartan subalgebra (equivalently, a split maximal toral
subalgebra) is computed for L.
The algorithm used is discussed in [CM09], Sections 5 and 6.
This algorithm is proved to work ([CM09, Theorem 6.7])
if L is the Lie algebra of a k-split connected reductive group. In other
cases, should the algorithm terminate, the output is guaranteed to be correct.
IsSplittingCartanSubalgebra(L, H) : AlgMatLie, AlgMatLie -> BoolElt
Determine whether H is a splitting Cartan subalgebra of L, i.e., whether H
is a Cartan subalgebra and the adjoint action of H on L splits completely
over the coefficient ring of L.
TryMaximal: . Default: true
The intrinsic attempts to compute a split toral subalgebra of a Lie algebra L
defined over a finite field k. This procedure uses a heuristic algorithm,
described in [Roo10, Chapter 3], that works in many cases even
if the characteristic of k is small. Moreover, it attempts to compute a split
toral subalgebra of maximal size.
If the function returns without error, the resulting subalgebra H is a split
toral subalgebra that does not lie inside a split toral subalgebra H' of
larger dimension. It is, however, not guaranteed that H is of maximal dimension
among all split toral subalgebras.
The optional parameter TryMaximal may be used as follows.
If set to true (the default) the reductive rank r of L is computed first, and
the algorithm attempts to compute a split toral subalgebra of dimension r. If set
to false, the first split toral subalgebra found is returned. Finally, if TryMaximal
is set to an integer n ≥1, the algorithm attempts to find a split toral subalgebra
of dimension n. In the latter case, if no split toral subalgebra of dimension n can be found,
the biggest that has been found is returned; if on the other hand a split toral subalgebra of
dimension larger than n is encountered, that is returned.
Given a restrictable Lie algebra L over a finite field, the function returns
true is H is a split toral subalgebra of L, i.e., whether [H, H] = 0,
all elements of H are semisimple, and the basis elements are invariant
under the q-map associated to L.
We construct a twisted Lie algebra L of type () 3D 4 over the field
k = GF(3 3) and verify that the
subalgebra H returned by SplitToralSubalgebra is indeed a split toral
subalgebra. Then, we test whether C = C L(H) is a (split) toral subalgebra of L.
> k := GF(3, 3);
> L, phi := TwistedLieAlgebra(TwistedRootDatum("D4" : Twist := 3), k);
> H := SplitToralSubalgebra(L);
> H;
Lie Algebra of dimension 2 with base ring GF(3^3)
> IsSplitToralSubalgebra(L, H);
true
> C := Centraliser(L,H); C;
Lie Algebra of dimension 4 with base ring GF(3^3)
> IsToralSubalgebra(L,C), IsSplitToralSubalgebra(L, C);
true false
Now we let K be the big field, GF(3 9), and test if C tensor K is a split toral
subalgebra of L tensor K.
> LK := Codomain(phi);
> LK;
Lie Algebra of dimension 28 with base ring GF(3^9)
> CK := sub<LK | [ phi(b) : b in Basis(C) ]>;
> IsSplitToralSubalgebra(LK, CK);
true
A composition series is computed for the (structure constant) Lie algebra L.
The function returns three values:
- (a)
- a sequence containing the composition series as an ascending chain of
subalgebras such that the successive quotients are irreducible L-modules;
- (b)
- a sequence containing the composition factors as structure
constant algebras;
- (c)
- a transformation matrix to a basis compatible with the
composition series, that is, the first basis elements form a basis of the first
term of the composition series, the next extend these to a basis for the second
term etc.
Compute the composition factors of a composition series for the Lie
algebra L. This function returns the same as the second return value
of CompositionSeries above, but will often be very much quicker.
Limit: RngIntElt Default: ∞
Returns the minimal left/right/two-sided ideals of the (structure constant)
Lie algebra L (in non-decreasing size).
If Limit is set to n, at most n ideals are calculated and the second
return value indicates whether all of the ideals were computed.
Limit: RngIntElt Default: ∞
Returns the maximal left/right/two-sided ideals of the (structure constant)
Lie algebra L (in non-decreasing size).
If Limit is set to n, at most n ideals are calculated and the second
return value indicates whether all of the ideals were computed.
DerivedSeries(L) : AlgMatLie -> [ AlgMatLie ]
Given a Lie algebra L, this function returns
a sequence of ideals of L that form its derived
series.
LowerCentralSeries(L) : AlgMatLie -> [ AlgMatLie ]
Given a Lie algebra L, this function returns
a sequence of ideals of L that form its lower central
series.
UpperCentralSeries(L) : AlgMatLie -> [ AlgMatLie ]
Given a Lie algebra L, this function returns
a sequence of ideals of L that form the upper central seriesof L.
The function repeatedly uses the algorithm for computing centres
while keeping track of the pre-images of the ideals factored out.
We compute each of the type of series of a particular subalgebra of
the simple Lie algebra of type F 4 over the rational field.
> L:=LieAlgebra("F4", RationalField());
> L;
Lie Algebra of dimension 52 with base ring Rational Field
> K:=sub< L | [L.1, L.12, L.23, L.34, L.45] >;
> DerivedSeries(K);
[
Lie Algebra of dimension 20 with base ring Rational Field,
Lie Algebra of dimension 16 with base ring Rational Field,
Lie Algebra of dimension 7 with base ring Rational Field,
Lie Algebra of dimension 0 with base ring Rational Field
]
> LowerCentralSeries(K);
[
Lie Algebra of dimension 20 with base ring Rational Field,
Lie Algebra of dimension 16 with base ring Rational Field,
Lie Algebra of dimension 12 with base ring Rational Field,
Lie Algebra of dimension 8 with base ring Rational Field,
Lie Algebra of dimension 5 with base ring Rational Field,
Lie Algebra of dimension 2 with base ring Rational Field,
Lie Algebra of dimension 1 with base ring Rational Field,
Lie Algebra of dimension 0 with base ring Rational Field
]
> UpperCentralSeries(K);
[
Lie Algebra of dimension 2 with base ring Rational Field,
Lie Algebra of dimension 3 with base ring Rational Field,
Lie Algebra of dimension 5 with base ring Rational Field,
Lie Algebra of dimension 8 with base ring Rational Field,
Lie Algebra of dimension 12 with base ring Rational Field,
Lie Algebra of dimension 16 with base ring Rational Field,
Lie Algebra of dimension 20 with base ring Rational Field
]
Given a Lie algebra L, this function constructs its Lie algebra of derivations
Der(L). As second return value, a record containing maps from L to Der(L)
and vice versa, and from Der(L) to the matrix Lie algebra acting on L
is returned.
We consider the Lie algebra of derivations of D 4 in characteristic 2 or,
more precisely, the 26-dimensional simple constituent L that exists in all
varieties of D 4 in characteristic 2.
> SetSeed(1);
> R := RootDatum("D4");
> D4 := LieAlgebra(R, GF(2));
> pos,neg,cart := StandardBasis(D4);
> L := D4*D4; L;
Lie Algebra of dimension 26 with base ring GF(2)
> IsSimple(L);
true
> DerL, maps := LieAlgebraOfDerivations(L);
> DerL;
Lie Algebra of dimension 52 with base ring GF(2)
> SemisimpleType(DerL);
F4
So the Lie algebra of derivations is of type F 4. Let us consider
one of the maps that was returned as second value.
> maps;
rec<recformat<mp_DerL_to_L: Map, mp_L_to_DerL: Map, mp_DerL_to_mats:
Map, mp_mats_to_DerL: Map> |
mp_DerL_to_L := Mapping from: AlgLie: DerL to AlgLie: L given by a
rule [no inverse],
mp_L_to_DerL := Mapping from: AlgLie: L to AlgLie: DerL given by a
rule [no inverse],
mp_DerL_to_mats := Mapping from: AlgLie: DerL to Matrix Lie
Algebra given by a rule [no inverse],
mp_mats_to_DerL := Mapping from: Matrix Lie Algebra to AlgLie:
DerL given by a rule [no inverse]>
> adL := AdjointRepresentation(L);
> f := maps`mp_DerL_to_mats;
> [ f(b) in Image(adL) : b in Basis(DerL) ];
[ false, true, true, true, true, true, true, true, false, false, true,
false, true, false, false, false, true, false, true, true, true,
false, false, false, true, true, false, false, false, true, true,
false, false, false, true, true, false, false, true, false, true,
false, true, false, false, false, true, false, true, false, false,
false ]
So, unsurprisingly, some of the basis elements of Der(L) are actually
elements from L, but others are not. We consider one more of these
maps and investigate how L lies in Der(L).
> g := maps`mp_L_to_DerL;
> I := ideal<DerL | [ g(b) : b in Basis(L) ]>; I;
Lie Algebra of dimension 26 with base ring GF(2)
> pos2, neg2, cart2 := ChevalleyBasis(DerL, SplitToralSubalgebra(DerL));
> [i : i in [1..#pos2] | pos2[i] in I ];
[ 3, 4, 6, 7, 8, 10, 12, 13, 15, 17, 19, 21 ]
> RF4 := RootDatum("F4");
> [ i : i in [1..NumPosRoots(RF4)] | IsShortRoot(RF4, i) ];
[ 3, 4, 6, 7, 8, 10, 12, 13, 15, 17, 19, 21 ]
So we conclude that the original Lie algebra L of type D 4 exists as
the short roots of the Lie algebra of derivations Der(L) of type F 4.
[Next][Prev] [Right] [Left] [Up] [Index] [Root]
|
|