Chevlie: Constructing Lie Algebras and Chevalley Groups
Total Page:16
File Type:pdf, Size:1020Kb
Journal of Software for Algebra and Geometry ChevLie: Constructing Lie algebras and Chevalley groups MEINOLF GECK vol 10 2020 JSAG 10 (2020), 41–49 The Journal of Software for https://doi.org/10.2140/jsag.2020.10.41 Algebra and Geometry ChevLie: Constructing Lie algebras and Chevalley groups MEINOLF GECK ABSTRACT: We present ChevLie-1.1, a module for Julia and, ultimately, the emerging OSCAR system. It provides functions for constructing simple Lie algebras and the corresponding Chevalley groups (of adjoint or other types), using a recently established approach via Lusztig’s “canonical bases”. These programs, combined with the Julia interface to SINGULAR, supply an efficient, user-friendly way to establish a key part of a new characterisation of Lusztig’s “special” nilpotent orbits in simple Lie algebras. 1. THE -CANONICAL CHEVALLEY BASIS OF A LIE ALGEBRA. Let g be a finite-dimensional, simple Lie algebra over C. By the classical Cartan–Killing theory (see[Humphreys 1978]), one can associate with g a Dynkin diagram 0 (that is, one of the graphs in Figure 1 below) and g is, up to isomorphism, uniquely determined by 0. Conversely, an elegant way to construct a Lie algebra g corresponding to such a diagram 0 is given by taking the quotient of the free Lie algebra on generators fei ; fi j i 2 I g (where I is an index set for the nodes of 0) by the ideal generated by the Serre relations in[Humphreys 1978, (18.1)] (which only depend on 0). The general theory then shows that g has a basis B D fhi j i 2 I g [ feα j α 2 8g; where the elements hi VD Tei ; fi U (i 2 I ) span a Cartan subalgebra h ⊆ g, the set 8 is the root system determined by 0, and the eα are chosen such that Thi ; eαU 2 Ceα for all i 2 I ; the eα are unique up to nonzero scalar multiples. Now, for practical purposes, it is convenient to fix a choice of the elements eα. A general scheme for making such a choice is described in[Cohen et al. 2004, §3], for example; however, there is a certain amount of arbitrariness to it. Various ad hoc choices can also be found in the literature; see, for example, [Mizuno 1980, Table 12]. Here, we wish to advertise the fact that a natural choice for the eα is provided by Lusztig’s work on “canonical bases”. For this purpose, we fix a function V I ! {±1g such that .i/ D −. j/ whenever i 6D j in I are joined by an edge in the Dynkin diagram 0. Note that such functions exist since there are no closed paths in the diagram 0. Since 0 is a connected graph, there are exactly two such functions; if is one of them, MSC2010: primary 20G40; secondary 17B45. Keywords: Lie algebras, canonical bases, weighted Dynkin diagrams. ChevLie version 1.1 41 42 Geck ChevLie: Constructing Lie algebras and Chevalley groups :::: 1C 2− 3C n± 1C 2− 3C n± An Bn < n>1 n>2 t1C t t p p p t t t t p p p t @ 3− 4C n± 1C 2− 3C n± Dn t @ Cn > n>4 n>2 t t p p p t t t t p p p t 2C 1C 3− 4C 5− 6C E6 tC − C − C − 1 2 1 2 3 4 t t t − t t G2 > F4 > 2 u u t t t t t 1C 3− 4C 5− 6C 7− 1C 3− 4C 5− 6C 7− 8C E7 E8 t t t2− t t t t t t2− t t t t t t Figure 1. Dynkin diagrams. then the other one is −. In Figure 1, we have specified such a function by attaching a sign to each label. Now, having fixed , we set ui VD −.i/hi 2 h for i 2 I : Then it is shown in [Lusztig 1990a; 1990b; 2017] (see also[Geck 2017b] for an alternative proof) that there is a natural choice for the eα such that the matrices of the linear operators ad.ei / V g ! g and ad. fi / V g ! g .i 2 I / D f j 2 g [ f j 2 g with respect to the basis B ui i I eα α 8 of g have all their entries in Z>0. In order to indicate the dependence on , we shall write ui D ui for i 2 I and eα D eα for α 2 8. If we replace − − − by −, then ui D −ui for i 2 I and eα D −eα for α 2 8. Thus, we have B D −B . There is a simple recursive algorithm for constructing the elements eα. First, we need some notation. Given α, β 2 8, β 6D ±α, we define integers p D pα,β > 0 and q D qα,β > 0 by the condition that β − qα, : : : ; β − α, β; β C α, : : : ; β C pα are all contained in 8, but β − .q C 1)α 62 8 and β C .p C 1)α 62 8. Furthermore, for each i 2 I , there is 2 D f j 2 g a unique αi 8 such that eαi is a scalar multiple of ei . Then 5 αi i I is a system of simple roots 2 D P 2 2 for 8. Every α 8 can be written uniquely as α i2I ni αi where either all ni Z>0 or all ni Z60. P We set ht(α/ VD i2I ni , the “height” of α. Note also that 8 D −8. D D i 2 I e VD i e We now proceed as follows. If ht(α/ 1, then α αi where . In this case, we set αi . / i e VD − i f e 2 and −αi . / i . Now assume that ht(α/ > 1 and that ±β has been already defined for all β 8 with 0 < ht(β/ < ht(α/. Then there is some i 2 I such that β VD α − αi 2 8. In this case, e±α are defined by Te e UD i q C e Te e U D − i q C e αi ; β . /. αi ,β 1/ α and −αi ; −β . /. αi ,β 1/ −α: (Note that, if ht(α/ > 1, then there may be several i 2 I such that α − αi 2 8; but the whole point of the Geck ChevLie: Constructing Lie algebras and Chevalley groups 43 :::: construction is that the resulting set feα j α 2 8g does not depend on the choice of those i.) By[Geck 2017b, §5], we have Teα; eβ U D ±.qα,β C 1/eαCβ whenever α, β; α C β 2 8: Thus, B D fui j i 2 I g [ feα j α 2 8g is a particular Chevalley basis for g in the sense of[Humphreys 1978, §25]; it may be called the “-canonical Chevalley basis” of g. 2. THE Julia MODULE ChevLie-1.1. The ChevLie package was originally developed in[GAP] (see, e.g., [Geck 2020, §4] for a short description) and then rewritten and extended for Julia [Julia 2017]. On a Linux system, one can just load the ChevLie package into a Julia session: julia> include("chevlie1r1.jl"); using .ChevLie The central command in this module is the Julia constructor LieAlg, with various fields containing basic information about a Lie algebra of a given type (a Julia symbol like :g) and rank (a positive integer); just type ?LieAlg for further details and examples. In particular, there are fields holding the matrices (with entries in Z>0, as discussed in Section 1) for the operators ad.ei / and ad. fi /. julia> lie=LieAlg(:g,2) #I dim = 14 LieAlg(’G2’) julia> lie.cartan # the Cartan matrix given by the diagram 2x2 Array{Int8,2}: 2 -1 -3 2 julia> println(lie.epsilon) # values of the epsilon function Int8[1, -1] julia> println(lie.roots) # the roots of the Lie algebra Array{Int8,1}[[1, 0], [0, 1], [1, 1], [1, 2], [1, 3], [2, 3], [-1, 0], [0, -1], [-1, -1], [-1, -2], [-1, -3], [-2, -3]] julia> size(lie.e_i[1]) # matrix representing ad(e_1) (14, 14) (The conventions for labelling the Dynkin diagrams are those in Figure 1, which are the same as in CHEVIE [Geck et al. 1996].) The complete list of all matrices for the linear operators ad.eα/ V g ! g is obtained by the function canchevbasis. Even when dim g becomes large, this should cause no problems with computer memory, because (1) the matrices are extremely sparse (and stored as SparseArray) and (2) the entries are small integers (and stored as Int8). Once these matrices are available, one can easily compute the corresponding structure constants Nα,β such that Teα; eβ UD Nα,β eαCβ for α, β; α C β 2 8. (One just needs to work out one nonzero entry in the matrix of the Lie bracket.) This is done by the function structconst. There is some very basic functionality for working with the corresponding Weyl group; see, e.g., allwords, reflsubgrp. (Much more functionality is available in[Gapjm.jl].) 44 Geck ChevLie: Constructing Lie algebras and Chevalley groups :::: We mention some further useful functions. rep_minuscule: returns a tuple of matrices representing the generators ei ; fi ; hi in a highest weight representation with a given minuscule weight; the available minuscule weights are contained in the field minuscule of a Lie algebra. The representing matrices are formed using the “canonical” models discussed in[Geck 2017a].