Nilpotent Orbits in Simple Lie Algebras

Take a simple Lie algebra over the complex numbers, and consider the connected component of its automorphism group that contains the identity. This group acts on the Lie algebra, and there is interest in understanding the nature of its orbits. The nilpotent orbits for simple Lie algebras have been classified. We refer to the book by Collingwood and McGovern [CM93] for the details of this classification.

The main technical tools used for the classification are the weighted Dynkin diagram and the sl2-triple. The weighted Dynkin diagram is the Dynkin diagram of the root system of the Lie algebra, with labels that can be 0, 1, 2. A nilpotent orbit is uniquely determined by its weighted Dynkin diagram. By the Jacobson-Morozov theorem a nilpotent element of a semisimple Lie algebra can be embedded (as nilpositive element) in an sl2-triple. Now two nilpotent elements are conjugate (under the group) if and only if the corresponding sl2-triples are conjugate. This yields a bijection between nilpotent orbits and conjugacy classes of simple subalgebras isomorphic to sl2.

This section describes functions for working with the classification of nilpotent orbits in simple Lie algebras. One of the main invariants of a nilpotent orbit is its weighted Dynkin diagram. We represent such a diagram by a sequence of its labels; they are mapped to the nodes of the Dynkin diagram in the order determined by the Cartan matrix of the root datum. Also, an sl2-triple is represented by a sequence [f, h, e] of three elements of a Lie algebra; these satisfy the commutation relations [h, e]=2e, [h, f]= - 2f, [e, f]=h.

Throughout this section we consider orbits that are not the zero orbit.

IsGenuineWeightedDynkinDiagram( L, wd ) : AlgLie, SeqEnum -> BoolElt, SeqEnum
Given a simple Lie algebra L, and a sequence wd consisting of integers that are 0, 1, or 2, this function returns true if wd corresponds to a nilpotent orbit (in other words, if it is the weighted Dynkin diagram of a nilpotent orbit). If wd does corresponds to a nilpotent orbit, an sl2-triple in L, such that the third element lies in the nilpotent orbit corresponding to the weighted Dynkin diagram is returned. If wd does not correspond to a nilpotent orbit. the second return value is a sequence consisting of three zeros of L.

Example AlgLie_NilpOrbGenuine (H107E59)

We can use this function to find the classification of the nilpotent orbits of a given Lie algebra. First we construct all possible weighted Dynkin diagrams, and then we remove those that do not correspond to an orbit.
> L:= LieAlgebra( RootDatum("D4"), Rationals() );
> [ w : i,j,k,l in [0,1,2] | IsGenuineWeightedDynkinDiagram(L, w)
>     where w := [i,j,k,l] ];
[
    [ 0, 0, 0, 2 ],
    [ 0, 0, 2, 0 ],
    [ 0, 1, 0, 0 ],
    [ 0, 2, 0, 0 ],
    [ 0, 2, 0, 2 ],
    [ 0, 2, 2, 0 ],
    [ 1, 0, 1, 1 ],
    [ 2, 0, 0, 0 ],
    [ 2, 0, 2, 2 ],
    [ 2, 2, 0, 0 ],
    [ 2, 2, 2, 2 ]
]
NilpotentOrbit( L, wd ) : AlgLie, SeqEnum -> NilpOrbAlgLie
This returns the nilpotent orbit in the simple Lie algebra L with weighted Dynkin diagram given by the sequence wd. It is not checked whether the weighted Dynkin diagram really corresponds to a nilpotent orbit.
NilpotentOrbit( L, e ) : AlgLie, AlgLieElt -> NilpOrbAlgLie
This returns the nilpotent orbit in the simple Lie algebra L having representative e. Here e has to be a nilpotent element of the Lie algebra. This condition is not checked by the function.

Example AlgLie_NoByRep (H107E60)

> L:= LieAlgebra( RootDatum("A2"), Rationals() );
> NilpotentOrbit( L, [2,2] );
Nilpotent orbit in Lie algebra of type A2
> NilpotentOrbit( L, L.1 );
Nilpotent orbit in Lie algebra of type A2
NilpotentOrbits( L ) : AlgLie -> SeqEnum
Given a simple Lie algebra L, this function returns the sequence of all nilpotent orbits in the simple Lie algebra L.

Example AlgLie_NOD4 (H107E61)

We compute the nilpotent orbits of the Lie algebra of type D4, and observe that they are the same as those found in Example H107E59.
> L:= LieAlgebra( RootDatum("D4"), Rationals() );
> o:= NilpotentOrbits(L);
> [ WeightedDynkinDiagram(orb) : orb in o ];
[
    [ 2, 2, 2, 2 ],
    [ 2, 0, 2, 2 ],
    [ 2, 2, 0, 0 ],
    [ 0, 2, 0, 2 ],
    [ 0, 2, 2, 0 ],
    [ 0, 2, 0, 0 ],
    [ 1, 0, 1, 1 ],
    [ 2, 0, 0, 0 ],
    [ 0, 0, 0, 2 ],
    [ 0, 0, 2, 0 ],
    [ 0, 1, 0, 0 ]
]
Partition( o ) : NilpOrbAlgLie -> SeqEnum
Here o is a nilpotent orbit in a simple Lie algebra of classical type (i.e., of type An, Bn, Cn or Dn). The nilpotent orbits for the Lie algebras of these types have been classified in terms of partitions. This function returns the partition corresponding to the orbit.

Example AlgLie_PartEx (H107E62)

> L:= LieAlgebra( RootDatum("D4"), Rationals() );
> orbs:= NilpotentOrbits( L );
> Partition( orbs[5] );
[ 4, 4 ]
> Partition( orbs[6] );
[ 3, 3, 1, 1 ]
SL2Triple( o ) : NilpOrbAlgLie -> SeqEnum
Given a nilpotent orbit o in a simple Lie algebra L, this function returns an sl2-triple, [f, h, e] of elements of L, such that e lies in the nilpotent orbit.
SL2Triple( L, e ) : AlgLie, AlgLieElt -> SeqEnum
Given a semisimple Lie algebra L of characteristic 0, and a nilpotent element e of L, this function returns an sl2-triple [f, h, e] of elements of L. It may also work for other Lie algebras, and in other characteristics, but this is not guaranteed.
Representative( o ) : NilpOrbAlgLie -> AlgLieElt
Given a nilpotent orbit o for a simple Lie algebra L, this function returns an e∈L lying in the orbit.
WeightedDynkinDiagram( o ) : NilpOrbAlgLie -> SeqEnum
Given a nilpotent orbit o for a simple Lie algebra L, this function returns its weighted Dynkin diagram.

Example AlgLie_WDD (H107E63)

We take some nilpotent element in the Lie algebra of type E8 and we find the weighted Dynkin diagram of the orbit it lies in.
> L:= LieAlgebra( RootDatum("E8"), Rationals() );
> x,_,_:= ChevalleyBasis(L);
> orb:= NilpotentOrbit( L, x[1]+x[10]-x[30]+3*x[50]-2*x[100] );
> WeightedDynkinDiagram( orb );
[ 1, 0, 0, 0, 0, 0, 0, 1 ]
V2.28, 13 July 2023