A non-zero element x of a Lie algebra L over the field K is extremal if [x, [x, y]] ∈K x for all y ∈L. If x is extremal, the existence of a linear map fx : L -> K such that [x, [x, y]] = fx(y) x for all y ∈L immediately follows from linearity of [., .].
In this section we describe functions for computing with Lie algebras generated by such extremal elements. For a simple connected undirected finite graph Γ we consider an algebraic variety X over K whose K-points parametrize Lie algebras generated by extremal elements. Here the generators of the Lie algebras correspond to the vertices of the graph, and we prescribe commutation relations corresponding to the nonedges of Γ.
Details of the setup may be found in [Roo11]; we describe the essential ingredients here.
Assume that Γ is a connected undirected finite graph with n vertices, without loops or multiple bonds, and that K is a field of characteristic distinct from 2. We let Π be the vertex set of Γ and denote adjacency of two vertices x, y ∈Π by i ~j.
We denote by F(K, Γ) the quotient of the free Lie algebra over K generated by Π modulo the relations [x, y]=0 for all x, y ∈Π with x not~y. We write F * for the space of all K-linear functions on F. For every f ∈(F * )Π we denote by L(K, Γ, f) (often abbreviated to L(f)) the quotient of F(K, Γ) by the ideal I( f ) generated by the infinitely many elements [x, [x, y]] - fx(y) x for x ∈Π, y ∈F.
By construction L( f ) is a Lie algebra generated by |Π| = n extremal elements, the extremal generators corresponding to the vertices of Γ and commuting whenever they are not adjacent. The element fx ∈F * is a parameter expressing the extremality of x ∈Π.
In the Lie algebra L(0) the elements of Π map to sandwich elements. This algebra is finite-dimensional, by [ZK90] this Lie algebra is finite-dimensional; for general f ∈(F * )Π we have dim(L(f)) ≤dim(L(0)) by [CSUW01, Lemma 4.3]. It is therefore natural to focus on the Lie algebras L( f ) of maximal possible dimension, i.e., those of dimension dim(L(0)). We define the set X := { f ∈(F * )Π | dim(L(f)) = dim(L(0)) }, the parameter space for all maximal-dimensional Lie algebras of the form L( f ).
The functions currently implemented in Magma allow computation of X and L(f), for any f, for the cases where X is an affine space (which is unproven, but true in all currently known cases).
Lie algebras generated by extremal elements are of type AlgLieExtr. The verbose flag "AlgLieExtr" may be set between 1 and 5 to show details and progress of the various computations.
CommGens: SeqEnum Default: []
HeisenbergPairs: SeqEnum Default: []
Construct the Lie algebra over the field K generated by n extremal elements. The characteristic of K must be distinct from 2.The optional argument CommGens contains pairs of integers (i, j), with 1 ≤i, j ≤n, describing that generators xi and xj commute, i.e., [xi, xj] = 0.
The optional argument HeisenbergPairs contains pairs of integers (i, j), with 1 ≤i ≤n and 1 ≤j ≤dim(L(0)), describing that fxi(bj) should be taken equal to 0. (Note that if it is required to have j > n it would be necessary to have prior knowledge about the basis of L(0)).
HeisenbergPairs: SeqEnum Default: []
Construct the Lie algebra over the field K whose extremal generators are described by the graph G, i.e., with |V(G)| generators, and xi and xj commute whenever vertices xi and xj of G are not adjacent.See ExtremalLieAlgebra above for a description of the optional argument HeisenbergPairs.
The number of generators of L.
The coefficient ring of L. Immediately after construction, this is equal to the field K provided as argument to ExtremalLieAlgebra. However, after the multiplication table has been computed (see below), the coefficient ring would in general be a multivariate polynomial ring over K describing the parameter space.
The graph describing the extremal generators of L and their commutator relations.
> QQ := Rationals(); > L := ExtremalLieAlgebra(QQ, BipartiteGraph(2,2)); > Ngens(L), CoefficientRing(L); 4 Rational Field > G := CommutatorGraph(L); G; Graph Vertex Neighbours 1 3 4 ; 2 3 4 ; 3 1 2 ; 4 1 2 ; > L := ExtremalLieAlgebra(QQ, 4 : CommGens := [<1,2>,<3,4>]); > Ngens(L), CoefficientRing(L); 4 Rational Field > G := CommutatorGraph(L); G; Graph Vertex Neighbours 1 3 4 ; 2 3 4 ; 3 1 2 ; 4 1 2 ;
Compute a monomial basis for L(0) (this is also a monomial basis for L(f) for any f ∈X; see the introduction of Section Lie Algebras Generated by Extremal Elements).The first return value is a sequence consisting of monomials of the free Lie algebra over K with n generators, where K is the coefficient ring of L and n is the number of generators. The second return value is a sequence consisting of functions c. Each of these functions may be applied to a sequence of generators and a composition function. These may be used to construct the basis elements in other environments.
The algorithm used in this function is due to W. de Graaf.
For L a Lie algebra generated by extremal elements over the field of rational numbers, compute a basis of the corresponding Lie ring over the integers.This function returns three sequences B, T, C, respectively, describing bases for L(0) over any field K. B is a not necessarily monomial basis, with torsion described by T. It is such that if T[i] is nonzero, m say, then B[i] is zero unless the characteristic of K divides m.
The third sequence, C, is a sequence of monomials that linearly span L(0) over any field K. Note, however, that if T contains nonzero elements, then C would in general contain superfluous elements and therefore not be a basis.
The algorithm used in this function is due to W. de Graaf. The only currently known case with nontrivial torsion is for Γ(L) = K5.
The dimension of L(0). This value is computed via a basis computation, so potentially quite time-consuming.
> B, C := Basis(L); > B; [ $.1, $.2, $.3, $.4, ($.4, $.2), ($.4, $.1), ($.3, $.2), ($.3, $.1), ($.4, ($.3, $.2)), ($.4, ($.3, $.1)), ($.2, ($.4, $.1)), ($.2, ($.3, $.1)), ($.4, ($.2, ($.3, $.1))), ($.3, ($.2, ($.4, $.1))), ($.2, ($.4, ($.3, $.1))) ] > [ c(["x","y","z","u"], func<i,j|i cat j>) : c in C ]; [ x, y, z, u, uy, ux, zy, zx, uzy, uzx, yux, yzx, uyzx, zyux, yuzx ] > A := FreeAlgebra(Rationals(), 4); > [ c([A.1,A.2,A.3,A.4], func<x,y|x*y>) : c in C ]; [ $.1, $.2, $.3, $.4, $.4*$.2, $.4*$.1, $.3*$.2, $.3*$.1, $.4*$.3*$.2, $.4*$.3*$.1, $.2*$.4*$.1, $.2*$.3*$.1, $.4*$.2*$.3*$.1, $.3*$.2*$.4*$.1, $.2*$.4*$.3*$.1 ] > #B, #C, Dimension(L); 15 15 15
HowMuch: MonStgElt Default: "Auto"
MemLimit: RngIntElt Default: ∞
FullJacobi: BoolElt Default: false
Force computation of a general multiplication table for L, i.e., one that may be used for constructing L(f) for any f ∈X (see the introduction to this section Lie Algebras Generated by Extremal Elements). This computation is necessary for constructing instances as described in Section Instances of Lie Algebras Generated by Extremal Elements, but it will be done automatically if needed. Data about the variety X is computed concurrently and stored internally; see Section Studying the Parameter Space for the relevant functions in accessing that information.The optional parameters may be used to influence the computation, although the defaults should generally work well. HowMuch may be set to "Auto" (the default), "Top" or "Full" and prescribes whether only the first Ngens(L) rows of the multiplication table are computed ("Top"), or all entries ("Full"). If set to "Auto" some fraction of the multiplication table is computed depending on the dimension of L and the other parameters.
MemLimit may be set to a positive integer m, and if given Magma will attempt to limit its memory usage to m MB, by limiting the portion of the multiplication table that is being computed.
FullJacobi may be set to true in order to force checking the Jacobi identity for all basis elements, thus providing more certainty with regards to the information about the parameter space X. Note that even if this parameter is set to true a heuristic (Monte-Carlo) method is used, as considering all dim(L(0))3 triples quickly becomes infeasible as the dimension grows.
The verbose flag "AlgLieExtr" may be set to 3 or more to obtain some information about the default choices Magma makes with regards to these parameters.
Rep: MonStgElt Default: "Auto"
Check: BoolElt Default: true
A general multiplication table for L.If Rep is set to "Dense" it will be returned as a sequence of sequences of vectors over CoefficientRing(L). If Rep is set to "Sparse" it will be returned as a sequence of 4-tuples. If Rep is set to "Auto" a choice between these representations is made depending on dim(L). Both these representations may be used on the right hand side of the LieAlgebra constructor.
The optional parameter Check controls whether the Jacobi identity is verified for all triples (if true it will actually be checked for all dim(L(0))3 triples, as opposed to the behaviour of the procedural version, MultiplicationTable(~L), described above).
Note that this function is impractical in terms of CPU time and memory usage once dim(L) exceeds approximately 50. In such cases, the Lie algebra is more easily studied using the functions described in Section Instances of Lie Algebras Generated by Extremal Elements.
> L := ExtremalLieAlgebra(Rationals(), 3); > L:Maximal; Lie algebra generated by 3 extremal elements, defined over Rational Field > MultiplicationTable(~L); > L:Maximal; Lie algebra generated by 3 extremal elements, originally defined over Rational Field Now living over Polynomial ring of rank 4 over Rational Field Dimension: 8 Picked 4 f-values: f(2, [1]) = f21 f(3, [1]) = f31 f(3, [2]) = f32 f(1, [32]) = f132 > Dimension(L); 8 > MT := MultiplicationTable(L); > MT[4][8]; (0 -1/2*f31*f32 0 -1/2*f132 0 0 0 1/2*f32) > M := LieAlgebra<CoefficientRing(L), 8 | MT>; > M; Lie Algebra of dimension 8 with base ring Polynomial ring of rank 4 over Rational Field > M.4*M.8; (0 -1/2*f31*f32 0 -1/2*f132 0 0 0 1/2*f32) > M.1*(M.1*M.2); (f21 0 0 0 0 0 0 0)
Rep: MonStgElt Default: "Auto"
Check: BoolElt Default: true
The Lie algebra L(f) for general f. The Lie algebra returned will in general be defined over a multivariate polynomial ring.This function is identical to MultiplicationTable, except that it returns a Lie algebra rather than a multiplication table. Please refer to that function for information on the optional arguments Rep and Check. Note that this function also is impractical in terms of CPU time and memory usage once dim(L) exceeds approximately 50. In such cases, the Lie algebra is more easily studied by constructing particular instances of L(f) individually, as described below.
Rep: MonStgElt Default: "Auto"
Check: BoolElt Default: true
Construct L(f) where the i-th free parameter of X is set to Q[i]. Consult L:Maximal or FreefValues to obtain information about the free parameters. The coefficient ring of the Lie algebra M returned will be equal to Universe(Q). As a second return value, an invertible map from M to the free Lie algebra of rank Ngens(L) is returned.The optional argument Rep may be "Auto", "Dense" or "Sparse" (refer to the documentation at MultiplicationTable for more information). Check may be set to true or false and determines whether the Jacobi identity is checked on the Lie algebra returned.
> L := ExtremalLieAlgebra(Rationals(), 3); > MultiplicationTable(~L); > L:Maximal; Lie algebra generated by 3 extremal elements, originally defined over Rational Field Now living over Polynomial ring of rank 4 over Rational Field Dimension: 8 Picked 4 f-values: f(2, [1]) = f21 f(3, [1]) = f31 f(3, [2]) = f32 f(1, [32]) = f132 > M := Instance(L); M; Lie Algebra of dimension 8 with base ring Polynomial ring of rank 4 over Rational Field > M.1*(M.1*M.2); (f21 0 0 0 0 0 0 0)So in the most general case, [x1, [x1, x2]] = fx2(x1) x1. Next, we consider an instance where we set fx2(x1) = 1/7, fx3(x1) = 1/5, fx3(x2) = 1/3 and fx1([x3, x2]) = 1.
> N, phi := Instance(L, [Rationals()|1/7,1/5,1/3,1]); > N; Lie Algebra of dimension 8 with base ring Rational Field > SemisimpleType(N); A2 > N.1*(N.1*N.2); (1/7 0 0 0 0 0 0 0) > y := phi(N.2); z := phi(N.3); > Parent(y):Minimal; Free Lie algebra of rank 3 over Rational Field > (y,(y,z)); -($.2, ($.3, $.2)) > (y,(y,z)) @@ phi; ( 0 1/3 0 0 0 0 0 0) > (y,(y,z)) @@ phi @ phi; 1/3*$.2
The values fx(b) generating the parameter space X (see the introduction to this section Lie Algebras Generated by Extremal Elements for details). This function returns two sequences: the first of the fx(b) as elements of CoefficientRing(L) and the second of the pairs (x, b) as two-tuples of integers.
The value fx(b) as an element of CoefficientRing(L).
Print a proof of correctness for the value fx(b).
> L := ExtremalLieAlgebra(Rationals(), 4); > vals, pairs := FreefValues(L); > vals; [ f21, f31, f41, f32, f42, f43, f143, f243, f142, f132, f1432, f2431 ] > #vals; 12 > pairs; [ <2, 1>, <3, 1>, <4, 1>, <3, 2>, <4, 2>, <4, 3>, <1, 5>, <2, 5>, <1, 6>, <1, 8>, <1, 11>, <2, 12> ]This shows that dim(X) = 12. We compute some values fx(b).
> fValue(L, 1, 5); f143 > fValue(L, 4, 17); -f41*f42 > fValueProof(L, 4, 17); f(4, [241]) -> -f(4,[2])*f(4,[1]) {f(x,[y,[x,N]]) = -f(x,y)f(x,N) by assoc. of f and anti-comm. of L} f(4, [2]) = f42 {Free} f(4, [1]) = f41 {Free} = -f41*f42
NumSamples: RngIntElt Default: ∞
Check: BoolElt Default: true
Rep: MonStgElt Default: "Auto"
SetVerbose("AlgLieExtr", n): Maximum: 10
Estimate the dimensions of the subvarieties of the parameter space X of L giving rise to irreducible Lie algebra modules of different dimensions.This procedure repeatedly (exactly NumSamples times) invokes Instance(L, g()) to produce a Lie algebra M. The composition series of M are computed, and the dimension e of its simple factor is stored. Then, for each of these e encountered, the dimension of the subvariety (inside the algebraic variety X) that contains Lie algebras whose top factor has dimension e is estimated using the dimension d of the full f-variety. (Here d is taken to be the number of free f-values computed; see FreefValues).
If the verbose flag "AlgLieExtr" is set 3 or more, then after each step the estimate is printed as a sequence of triples (e, n, s): n is the number of times dimension e was encountered, and s the estimate for the dimension of the subvariety.
Upon finishing (which will only happen if NumSamples is set to some finite number) that sequence of triples is returned. The second return value is a multiset containing the dimensions encountered in the search.
Note that this procedure assumes that X itself is an affine variety (which has been proved if CommutatorGraph(L) is a connected simply laced Dynkin diagram of finite or affine type) and that g produces uniformly random elements of X. If either of these two is not the case, the estimates produced are likely wrong. Moreover, g must produce sequences of elements of a finite field.
The optional argument Rep may be "Auto", "Dense" or "Sparse" (refer to the documentation at MultiplicationTable for more information). Check may be set to true or false and determines whether the Jacobi identity is checked on the Lie algebras constructed.
Check: BoolElt Default: true
For each d ∈D attempt to find an instance of L whose simple factor has dimension d, by repeatedly invoking Instance(L, g()). The result is returned in the form of an associative array A such that, for all d ∈D, A[d] is a triple (v, M, φ) where v is such that Instance(L, v) is M, and φ is an invertible map from M to the free Lie algebra.See DimensionsEstimate for the required properties of g. The optional parameter Check may be set to true or false and determines whether the Jacobi identity is checked on the Lie algebras constructed.
> L := ExtremalLieAlgebra(Rationals(), 3); > FreefValues(L); [ f21, f31, f32, f132 ] [ <2, 1>, <3, 1>, <3, 2>, <1, 4> ]So dim(X) = 4. We create a function g used to construct random instances of L over GF(5).
> g := func< | [ Random(GF(5)) : i in [1..4] ]>; > repeat M := Instance(L, g()); until Rank(KillingForm(M)) eq 8; > M; Lie Algebra of dimension 8 with base ring GF(5) > SemisimpleType(M); A2So in this case g() yielded a Lie algebra of type A2. We use g to obtain information about X, using 500 random instances.
> DimensionsEstimate(L, g : NumSamples := 500); [ <3, 121, "3.12">, <8, 379, "3.83"> ] {* 3^^121, 8^^379 *}This shows that 379 instances were found where M was simple of dimension 8, and 121 cases where M had a simple factor of dimension 3. Using this result one might conjecture that there is a codimension 1 subspace of X with Lie algebras whose simple factor has dimension 3.
> A := InstancesForDimensions(L, g, {3,8} : Check := false); > A[3]; <[ 2, 1, 4, 4 ], Lie Algebra of dimension 8 with base ring GF(5), Mapping from: Lie Algebra of dimension 8 with base ring GF(5) to Free Lie algebra of rank 3 over GF(5) given by a rule> > M := A[3][2]; MM := M/SolvableRadical(M); MM; Lie Algebra of dimension 3 with base ring GF(5) > SemisimpleType(MM); A1 > M := A[8][2]; IsSimple(M); true > SemisimpleType(M); A2