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 [Collingwood and McGovern, 1993] 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: Nilp Orb Genuine (ex-762477)#

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

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: No By Rep (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

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: NOD4 (ex-1ce736)#

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 Example: Nilp Orb Genuine.

> 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

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: Part Ex (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

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: WDD (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