Operations on Subalgebras and Ideals
- DirectSum(L, M): AlgLie, AlgLie -> AlgLie
- 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 \in L\) and \(b \in M\) are defined to be zero.
- IndecomposableSummands(L): AlgLie -> [ AlgLie ]
- 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], §4.12 (semisimple case), §1.15 (general case).
- Example: Direct Sum Decomposition (ex-45b01f)
Run in calculator (opens in a new tab)
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]
Standard Ideals and Subalgebras
- Centre(L): AlgLie -> AlgLie
- Centre(L): AlgMatLie -> AlgMatLie
- Center(L): AlgLie -> AlgLie
- Center(L): AlgMatLie -> AlgMatLie
Given a Lie algebra \(L\), returns the centre of \(L\).
- Centraliser(L, K): AlgLie, AlgLie -> AlgLie, Map
- 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 centraliser of \(K\) in \(L\), and its injection into \(L\).
- Centraliser(L, x): AlgLie, AlgLieElt -> AlgLie, Map
- 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 centraliser of \(x\) in \(L\), and its injection into \(L\).
- Normaliser(L, K): AlgLie, AlgLie -> AlgLie
- 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 normaliser of \(K\) in \(L\), and its injection into \(L\).
- SolubleRadical(L): AlgLie -> AlgLie
- SolubleRadical(L): AlgMatLie -> AlgMatLie
- SolvableRadical(L): AlgLie -> AlgLie
- SolvableRadical(L): AlgMatLie -> AlgMatLie
Given a Lie algebra \(L\), returns the soluble radical of \(L\).
We refer to [dG00], §2.6 for the algorithm used to implement this function.
- Nilradical(L): AlgLie -> AlgLie
- Nilradical(L): AlgMatLie -> AlgMatLie
Given a Lie algebra \(L\), returns the nilradical of \(L\).
The algorithm makes use of Cartan subalgebras. We refer to [dG00], pp. 84, 85 for its description.
- Example: Centre, Normaliser, and Other Operations (ex-d2d791)
Run in calculator (opens in a new tab)
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
Cartan and Toral Subalgebras
- CartanSubalgebra(L): AlgLie -> AlgLie
- CartanSubalgebra(L): AlgMatLie -> AlgMatLie
Given a Lie algebra \(L\), this function returns a Cartan subalgebra of \(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], §3.2.
- IsCartanSubalgebra(L, H): AlgLie, AlgLie -> BoolElt
- IsCartanSubalgebra(L, H): AlgMatLie, AlgMatLie -> BoolElt
The intrinsic returns
trueif \(H\) is a Cartan subalgebra of \(L\), i.e., whether \(H\) is nilpotent and \(N_L(H) = 0\).
- Example: Cartan Subalgebra (ex-675c63)
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
- SplittingCartanSubalgebra(L): AlgLie -> AlgLie
- SplitMaximalToralSubalgebra(L): AlgLie -> AlgLie
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): AlgLie, AlgLie -> BoolElt
- 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\).
- SplitToralSubalgebra(L): AlgLie -> AlgLie
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
TryMaximalmay be used as follows. If set totrue(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 tofalse, the first split toral subalgebra found is returned. Finally, ifTryMaximalis set to an integer \(n \geq 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.
- IsSplitToralSubalgebra(L, H): AlgLie, AlgLie -> BoolElt
Given a restrictable Lie algebra \(L\) over a finite field, the function returns
trueis \(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\).
- Example: Split Toral Subalgebra (ex-3f1c22)
Run in calculator (opens in a new tab)
We construct a twisted Lie algebra \(L\) of type \({}^3\)D\(_4\) over the field \(k =\)GF\((3^3)\) and verify that the subalgebra \(H\) returned by
SplitToralSubalgebrais 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 \otimes K\) is a split toral subalgebra of \(L \otimes 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
Standard Series
- CompositionSeries(L): AlgLie -> [ Alg ], [ AlgLie ], AlgMatElt
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.
- CompositionFactors(L): AlgLie -> [ AlgLie ]
Compute the composition factors of a composition series for the Lie algebra \(L\). This function returns the same as the second return value of
CompositionSeriesabove, but will often be very much quicker.
- MinimalIdeals(L : parameters): AlgLie -> [ AlgLie ], BoolElt
Limit: RngIntElt Default: Infinity()
Returns the minimal left/right/two-sided ideals of the (structure constant) Lie algebra \(L\) (in non-decreasing size). If
Limitis set to \(n\), at most \(n\) ideals are calculated and the second return value indicates whether all of the ideals were computed.
- MaximalIdeals(L : parameters): AlgLie -> [ AlgLie ], BoolElt
Limit: RngIntElt Default: Infinity()
Returns the maximal left/right/two-sided ideals of the (structure constant) Lie algebra \(L\) (in non-decreasing size). If
Limitis set to \(n\), at most \(n\) ideals are calculated and the second return value indicates whether all of the ideals were computed.
- DerivedSeries(L): AlgLie -> [ AlgLie ]
- 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): AlgLie -> [ AlgLie ]
- 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): AlgLie -> [ AlgLie ]
- UpperCentralSeries(L): AlgMatLie -> [ AlgMatLie ]
Given a Lie algebra \(L\), this function returns a sequence of ideals of \(L\) that form the upper central series of \(L\). The function repeatedly uses the algorithm for computing centres while keeping track of the pre-images of the ideals factored out.
- Example: Series of a Subalgebra (ex-9cb576)
Run in calculator (opens in a new tab)
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 ]
The Lie Algebra of Derivations
- LieAlgebraOfDerivations(L): AlgLie -> AlgLie, Rec
Given a Lie algebra \(L\), this function constructs its Lie algebra of derivations \(\operatorname{Der}(L)\). As second return value, a record containing maps from \(L\) to \(\operatorname{Der}(L)\) and vice versa, and from \(\operatorname{Der}(L)\) to the matrix Lie algebra acting on \(L\) is returned.
- Example: Lie Algebra of Derivations (ex-d37e8c)
Run in calculator (opens in a new tab)
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 \(\operatorname{Der}(L)\) are actually elements from \(L\), but others are not. We consider one more of these maps and investigate how \(L\) lies in \(\operatorname{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 \(\operatorname{Der}(L)\) of type F\(_4\).