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 \(sl_2\)-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 \(sl_2\)-triple. Now two nilpotent elements are conjugate (under the group) if and only if the corresponding \(sl_2\)-triples are conjugate. This yields a bijection between nilpotent orbits and conjugacy classes of simple subalgebras isomorphic to \(sl_2\).

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 \(sl_2\)-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 \(sl_2\)-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: Classifying Nilpotent Orbits (ex-762477)

Run in calculator (opens in a new tab)

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 ]
]

Run in calculator (opens in a new tab)

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: Nilpotent Orbits by Representative (ex-ab5b8b)
> 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

Run in calculator (opens in a new tab)

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: Nilpotent Orbits of D4 (ex-1ce736)

Run in calculator (opens in a new tab)

We compute the nilpotent orbits of the Lie algebra of type \(D_4\), and observe that they are the same as those found in Example Classifying Nilpotent Orbits.

> 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 ]
]

Run in calculator (opens in a new tab)

Partition(o): NilpOrbAlgLie -> SeqEnum

Here \(o\) is a nilpotent orbit in a simple Lie algebra of classical type (i.e., of type \(A_n\), \(B_n\), \(C_n\), or \(D_n\)). 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: Partitions of Nilpotent Orbits (ex-52861d)
> L:= LieAlgebra( RootDatum("D4"), Rationals() );
> orbs:= NilpotentOrbits( L );
> Partition( orbs[5] );
[ 4, 4 ]
> Partition( orbs[6] );
[ 3, 3, 1, 1 ]

Run in calculator (opens in a new tab)

SL2Triple(o): NilpOrbAlgLie -> SeqEnum

Given a nilpotent orbit \(o\) in a simple Lie algebra \(L\), this function returns an \(sl_2\)-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 \(sl_2\)-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\in 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: Weighted Dynkin Diagram of an Orbit (ex-eb9e7c)

We take some nilpotent element in the Lie algebra of type \(E_8\) 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 ]

Run in calculator (opens in a new tab)