This chapter contains functions for dealing with the nilpotent orbits of a semisimple Lie algebra K under its adjoint group G. We refer to the book by Collingwood and McGovern, [CM93] (and the references therein) for an account of the theory of nilpotent orbits. A nilpotent orbit has two important attributes: the weighted Dynkin diagram, and an sl_2-triple. The weighted Dynkin diagram is represented by a list of integers in {0,1,2} of length equal to the rank of the Lie algebra. The i-th position in this list correponds to the i-th node of the Dynkin diagram of the root system. The Dynkin diagram of the root system is described by the Cartan matrix of the root system. Now in GAP this Cartan matrix can be somewhat different from the more usual forms. This holds most particularly for type F4, where the enumeration of the simple roots is rather different from the one usually found. So when using the functions in this chapter one should keep this in mind.
Every nilpotent orbit has an sl_2-triple, that is a triple (y,h,x) of elements of the simple Lie algebra with [x,y]=h, [h,x]=2x, [h,y]=-2y. The nilpotent orbit corresponding to this is the orbit of the element x under the action of the adjoint group.
Let P be a parabolic subalgebra of K (i.e., generated by the Cartan subalgebra of K, all positive root vectors, along with the negative simple root vectors corresponding to a given subset of the basis of simple roots), L the corresponding Levi subalgebra (i.e., the reductive part of P), and N the nilradical of P. Let O_L be a nilpotent orbit in L. There exists a unique nilpotent orbit O_K in K such that the intersection of O_K and O_L + N is dense in the latter. In this situation O_K is said to be induced from O_L. Nilpotent orbits in K which are not induced are said to be rigid.
Now consider the variety of all G-orbits in K of a given dimension d. The irreducible components of this variety are called the sheets of K. Every sheet has a unique nilpotent orbit. Moreover this nilpotent orbit is induced from an orbit O_L, and O_L is rigid in L. So the sheets are parametrised by pairs (L,O_L), where L is a Levi subalgebra, and O_L a rigid nilpotent orbit in it. This data can conveniently be given by a sheet diagram: this is the Dynkin diagram of K, were the nodes that do not correspond to simple roots of L have label 2. So, leaving out the nodes with label 2, one obtains the Dynkin diagram of L. The remaining labels in the sheet diagram then correspond to the weighted Dynkin diagram of the nilpotent orbit O_L. Since this orbit is rigid, its weighted Dynki diagram has labels 0 or 1. From that it follows that one can recover L and O_L from the sheet diagram. The rank of a sheet is defined as the dimension of the centre of L, obviously that is equal to the number of 2's in the sheet diagram.
‣ NilpotentOrbit ( L, wd ) | ( operation ) |
Here L is a simple Lie algebra and wd a weighted Dynkin diagram (i.e., a list containing the weights of the weighted Dynkin diagram, in the same order as the nodes of the Dynkin diagram of the root system of L; that order can be deduced from the Cartan matrix of the same root system). The corresponding nilpotent orbit is returned. It is the responsibility of the user to make sure that the weighted Dynkin diagram corresponds to a nilpotent orbit.
gap> L:= SimpleLieAlgebra("E",6,Rationals);; gap> o:= NilpotentOrbit( L, [1,2,0,0,0,1] ); <nilpotent orbit in Lie algebra of type E6>
‣ NilpotentOrbits ( L ) | ( attribute ) |
Here L is a semisimple Lie algebra. This function returns the list of all nilpotent orbits of L. If L is simple of classical type, then the nilpotent orbits correpond to partitions (of n+1 for type A_n, of 2n+1 for type B_n, of 2n for type C_n and of 2n for type D_n, see [CM93]). If L is of one of these types then the orbits returned by this function have the attribute OrbitPartition set, which returns the corresponding partition.
gap> L:= SimpleLieAlgebra("E",6,Rationals);; gap> orbs:= NilpotentOrbits(L);; gap> orbs[10]; <nilpotent orbit in Lie algebra of type E6> gap> Length(orbs); 20 gap> L:= SimpleLieAlgebra("B",4,Rationals);; gap> orbs:= NilpotentOrbits(L);; gap> OrbitPartition( orbs[10] ); [ 5, 3, 1 ]
‣ WeightedDynkinDiagram ( o ) | ( attribute ) |
Here o is a nilpotent orbit; this function returns its weighted Dynkin diagram.
‣ WeightedDynkinDiagram ( L, x ) | ( method ) |
Here L is a semisimple Lie algebra, and x a nilpotent element. This function returns the weighted Dynkin diagram of the orbit containing x.
gap> L:= SimpleLieAlgebra("B",3,Rationals);; gap> WeightedDynkinDiagram( L, L.1+L.9 ); [ 2, 0, 0 ] gap> L:= SimpleLieAlgebra("E",6,Rationals );; gap> WeightedDynkinDiagram(L, L.1+L.6+L.20+2*L.32 : table:= true ); [ 0, 0, 0, 1, 0, 0 ]
‣ DisplayWeightedDynkinDiagram ( o ) | ( method ) |
This displays the weighted Dynkin diagram of the nilpotent orbit o on the Dynkin diagram of the Lie algebra.
gap> L:= SimpleLieAlgebra("E",6,Rationals);; gap> no:= NilpotentOrbits(L);; gap> DisplayWeightedDynkinDiagram( no[10] ); 1 | E6: 0---1---0---1---0
‣ DisplayWeightedDynkinDiagram ( L, x ) | ( method ) |
Here L is a semisimple Lie algebra with nilpotent element x. This displays the weighted Dynkin diagram of the nilpotent orbit containing x on the Dynkin diagram of the Lie algebra.
gap> K1:= SimpleLieAlgebra("B",3,Rationals);; gap> K2:= SimpleLieAlgebra("F",4,Rationals);; gap> L:= DirectSumOfAlgebras( K1, K2 );; gap> x:=L.1+L.3+L.17+L.33; v.1+v.3+v.17+v.33 gap> DisplayWeightedDynkinDiagram( L, x ); B3: 2---2=>=2 F4: 0---0=>=0---1
‣ AmbientLieAlgebra ( o ) | ( attribute ) |
Here o is a nilpotent orbit; this function returns the Lie algebra it lives in.
‣ SemiSimpleType ( o ) | ( attribute ) |
Here o is a nilpotent orbit; this function returns the type of the Lie algebra it lives in.
‣ SL2Triple ( o ) | ( attribute ) |
Here o is a nilpotent orbit; this function returns an sl_2-triple (y,h,x) corresponding to o. For the exceptional types the x is as in the paper [Gra08]. For the classical types the x is computed on the fly.
gap> L:= SimpleLieAlgebra("E",6,Rationals);; gap> orbs:= NilpotentOrbits(L);; gap> SL2Triple( orbs[10] ); [ (4)*v.51+(3)*v.53+(3)*v.56+v.59, (4)*v.73+(6)*v.74+(8)*v.75+(11)*v.76+( 8)*v.77+(4)*v.78, v.15+v.17+v.20+v.23 ]
‣ RandomSL2Triple ( o ) | ( operation ) |
Here o is a nilpotent orbit; this function returns a random sl_2-triple (x,h,y) corresponding to o. This means that every call (potentially) returns a different sl_2-triple.
gap> L:= SimpleLieAlgebra("E",6,Rationals);; gap> orbs:= NilpotentOrbits(L);; gap> RandomSL2Triple( orbs[10] ); [ (3)*v.49+(3)*v.50+v.51+(4)*v.59, (4)*v.73+(6)*v.74+(8)*v.75+(11)*v.76+( 8)*v.77+(4)*v.78, v.13+v.14+v.15+v.23 ] gap> RandomSL2Triple( orbs[10] ); [ (3)*v.49+(4)*v.54+(3)*v.56+v.57, (4)*v.73+(6)*v.74+(8)*v.75+(11)*v.76+( 8)*v.77+(4)*v.78, v.13+v.18+v.20+v.21 ]
‣ SL2Grading ( L, h ) | ( operation ) |
Here L is a Lie algebra, and h is an element of it, such that there is an sl_2 triple of which it is the Cartan element (the system does not check that). This function returns the grading of L in eigenspaces of h. A list containing three lists is returned: the first list contains bases of the components with degrees 1,2,3,... the second list has bases of the components with degrees -1,-2,-3,..., the last list contains a basis of the zero component.
gap> L:= SimpleLieAlgebra("F",4,Rationals);; gap> orbs:= NilpotentOrbits(L);; gap> sl2:= RandomSL2Triple( orbs[6] ); [ (2)*v.37+(2)*v.39+v.41, (3)*v.49+(4)*v.50+(6)*v.51+(8)*v.52, v.13+v.15+v.17 ] gap> SL2Grading( L, sl2[2] ); [ [ [ v.3, v.5, v.7, v.8, v.9, v.11 ], [ v.10, v.12, v.13, v.14, v.15, v.16, v.17, v.18, v.20 ], [ v.19, v.21 ], [ v.22, v.23, v.24 ] ], [ [ v.27, v.29, v.31, v.32, v.33, v.35 ], [ v.34, v.36, v.37, v.38, v.39, v.40, v.41, v.42, v.44 ], [ v.43, v.45 ], [ v.46, v.47, v.48 ] ], [ v.1, v.2, v.4, v.6, v.25, v.26, v.28, v.30, v.49, v.50, v.51, v.52 ] ]
‣ SL2Triple ( L, x ) | ( operation ) |
Here L is a simple Lie algebra, and x is a nilpotent element of it. A list of three elements is returned, forming an sl_2-triple, the last of which is equal to x.
gap> L:= SimpleLieAlgebra("F",4,Rationals);; gap> SL2Triple( L, L.1+L.20 ); [ v.16+v.25, v.49, v.1+v.20 ]
‣ Dimension ( o ) | ( attribute ) |
Returns the dimension of the nilpotent orbit o.
gap> L:= SimpleLieAlgebra("E",6,Rationals);; gap> no:= NilpotentOrbits(L);; gap> Dimension( no[13] ); 60
‣ IsRegular ( o ) | ( operation ) |
The regular nilpotent orbit is the one of maximal dimension. This function returns true if the nilpotent orbit o is regular, false otherwise.
gap> L:= SimpleLieAlgebra("E",6,Rationals);; gap> no:= NilpotentOrbits(L);; gap> IsRegular( no[13] ); false gap> IsRegular( no[20] ); true
‣ RegularNilpotentOrbit ( L ) | ( operation ) |
Here L is a semisimple Lie algebra. This function returns the regular nilpotent orbit of L.
‣ IsDistinguished ( o ) | ( operation ) |
A nilpotent orbit is said to be distinguished if for a representative x we have that the only Levi subalgebra containing x is the ambient Lie algebra itself. This function returns true if the nilpotent orbit o is distinguished, false otherwise.
gap> L:= SimpleLieAlgebra("E",6,Rationals);; gap> no:= NilpotentOrbits(L);; gap> IsDistinguished( no[10] ); false gap> IsDistinguished( no[17] ); true
‣ DistinguishedNilpotentOrbits ( L ) | ( operation ) |
Returns the list of distinguished nilpotent orbits of L.
gap> L:= SimpleLieAlgebra("E",6,Rationals);; gap> dis:= DistinguishedNilpotentOrbits( L );; Length(dis); 3 gap> DisplayWeightedDynkinDiagram( dis[1] ); 0 | E6: 2---0---2---0---2 gap> DisplayWeightedDynkinDiagram( dis[2] ); 2 | E6: 2---2---0---2---2 gap> DisplayWeightedDynkinDiagram( dis[3] ); 2 | E6: 2---2---2---2---2
‣ ComponentGroup ( o ) | ( attribute ) |
Here o is a nilpotent orbit in a simple Lie algebra L. Let (f,h,e) be an mathfraksl_2-triple as returned by SL2Triple( o ). We consider the stabilizer S of (f,h,e) in the adjoint group G of L. This stabilizer consists of the elements in G that map each of f, h, e to itself. This function returns a subgroup of G that in all but four cases (see below) is isomorphic to the component group of S. The elements of this group are given by their matrices relative to the basis Basis( L ) of L.
In four cases (one in type E_7 and three in type E_8) the group returned has order 4, whereas the component group S/S^∘ has order 2. In these cases the square of a generator of the returned group lies in S^∘.
We remark that it is known that the component group of S is the same as the component group of the stabilizer of e.
In the next example we construct the automorphisms that correspond to the generators of a component group.
gap> L:= SimpleLieAlgebra("E",8,Rationals);; gap> no:= NilpotentOrbits(L);; gap> C:= ComponentGroup( no[41] ); <matrix group with 2 generators> gap> Length( Elements(C) ); 120 gap> gens:= GeneratorsOfGroup(C);; gap> f1:= function(x) return (gens[1]*Coefficients(Basis(L),x))*Basis(L); end; function( x ) ... end gap> f2:= function(x) return (gens[2]*Coefficients(Basis(L),x))*Basis(L); end; function( x ) ... end gap> sl2:= SL2Triple( no[41] );; gap> List( sl2, f1 ) = sl2; true gap> List( sl2, f2 ) = sl2; true
‣ InducedNilpotentOrbits ( L ) | ( attribute ) |
Here L is a simple Lie algebra. This function returns the list of all induced nilpotent orbits of L. An induced orbit is given by a record containing two fields: sheetdiag, which is a diagram describing the Levi subalgebra and the rigid nilpotent orbit in it from which the nilpotent orbit is induced, and norbit, which is the induced nilpotent orbit in L. The sheet diagram is a labeled Dynkin diagram, and the labels are 0, 1 or 2. If we take the Dynkin diagram and erase the nodes which have label 2 then we obtain the Dynkin diagram of the Levi subalgebra. Moreover, the labels 0 and 1 on that diagram give the rigid nilpotent orbit in the Levi subalgebra. From this pair the nilpotent orbit norbit is induced. It may happen that the same nilpotent orbit is induced from more pairs consisting of a Levi subalgebra and a rigid nilpotent orbit in it. In that case the same nilpotent orbit appears more than once in the list, each time with a different sheet diagram attached. This function works for the Lie algebras of exceptional type and for the Lie algebras of type A regardless of the rank. It works for the Lie algebras of the other types up to rank 10.
gap> L:= SimpleLieAlgebra("E",6,Rationals);; gap> s:= InducedNilpotentOrbits(L);; gap> s[19]; rec( norbit := <nilpotent orbit in Lie algebra of type E6>, sheetdiag := [ 2, 0, 0, 1, 0, 2 ] ) gap> WeightedDynkinDiagram( s[19].norbit ); [ 0, 0, 0, 2, 0, 0 ]
‣ RigidNilpotentOrbits ( L ) | ( attribute ) |
Here L is a simple Lie algebra. This function returns the list of all rigid nilpotent orbits of L, except the zero orbit (which is always rigid).
gap> L:= SimpleLieAlgebra("E",6,Rationals);; gap> RigidNilpotentOrbits(L); [ <nilpotent orbit in Lie algebra of type E6>, <nilpotent orbit in Lie algebra of type E6>, <nilpotent orbit in Lie algebra of type E6> ] gap> List( last, WeightedDynkinDiagram ); [ [ 0, 1, 0, 0, 0, 0 ], [ 0, 0, 0, 1, 0, 0 ], [ 1, 0, 0, 1, 0, 1 ] ]
‣ RichardsonOrbits ( L ) | ( attribute ) |
Here L is a simple Lie algebra. A nilpotent orbit is said to be Richardson if it is induced from the zero orbit in a Levi subalgebra. This function returns the list of all Richardson nilpotent orbits of L.
gap> L:= SimpleLieAlgebra("E",6,Rationals);; gap> RichardsonOrbits(L); [ <nilpotent orbit in Lie algebra of type E6>, <nilpotent orbit in Lie algebra of type E6>, <nilpotent orbit in Lie algebra of type E6>, <nilpotent orbit in Lie algebra of type E6>, <nilpotent orbit in Lie algebra of type E6>, <nilpotent orbit in Lie algebra of type E6>, <nilpotent orbit in Lie algebra of type E6>, <nilpotent orbit in Lie algebra of type E6>, <nilpotent orbit in Lie algebra of type E6>, <nilpotent orbit in Lie algebra of type E6>, <nilpotent orbit in Lie algebra of type E6>, <nilpotent orbit in Lie algebra of type E6>, <nilpotent orbit in Lie algebra of type E6>, <nilpotent orbit in Lie algebra of type E6> ] gap> List( last, WeightedDynkinDiagram ); [ [ 2, 2, 2, 2, 2, 2 ], [ 2, 2, 2, 0, 2, 2 ], [ 2, 2, 0, 2, 0, 2 ], [ 1, 2, 1, 0, 1, 1 ], [ 1, 2, 0, 0, 0, 1 ], [ 1, 0, 0, 0, 0, 1 ], [ 0, 0, 1, 0, 1, 0 ], [ 1, 1, 1, 0, 1, 1 ], [ 0, 0, 0, 2, 0, 0 ], [ 2, 0, 0, 2, 0, 2 ], [ 2, 2, 0, 0, 0, 2 ], [ 0, 2, 0, 0, 0, 0 ], [ 0, 2, 0, 2, 0, 0 ], [ 2, 0, 0, 0, 0, 2 ] ]
generated by GAPDoc2HTML