Here we describe the functions for working with the classification of the semisimple subalgebras of the simple Lie algebras. These subalgebras have been classified for the simple Lie algebras over the complex numbers, of ranks up to 8. They have been classified up to linear equivalence. Two subalgebras K1, K2 of a Lie algebra L are linearly equivalent if for every representation of L the induced representations of K1, K2 are equivalent. The basic function for dealing with them returns a directed graph, describing the inclusions among the subalgebras, and having the subalgebras as labels of the vertices. (We refer to [dG11] for the background details of this classification.)
Here t has to be a simple type of rank not exceeding 8. This function returns a directed graph G. The vertices of this graph are numbered from 1 to the number of semisimple subalgebras. Furthermore, the last vertex is numbered 0. A vertex has a label that is the semisimple subalgebra corresponding to it. The label of the last vertex (numbered 0), has the Lie algebra L of type t as its label. All other semisimple Lie algebras are subalgebras of this one.The Lie algebra L (and its subalgebras) is defined over the rational numbers, or over a cyclotomic field. It is sometimes necessary to take an extension, because for some types not all subalgebras are defined over the rationals.
Moreover, in G there is an edge from the vertex with label K1 to the vertex with label K2 if and only if K1 has a subalgebra that is linearly equivalent (as subalgebra of L) to K2. We remark that it does not mean that K2 is a subalgebra of K1 (rather that it is linearly equivalent to a subalgebra of K1).
> G:= SubalgebrasInclusionGraph( "C3" ); > G; Digraph Vertex Neighbours 1 ; 2 ; 3 ; 4 ; 5 ; 6 ; 7 ; 8 2 4 ; 9 5 10 ; 10 1 2 ; 11 1 2 3 ; 12 1 5 6 ; 13 3 4 6 ; 14 10 11 ; 15 9 12 14 ; 0 7 8 13 15 ; > v:= Vertices(G); > Label( v[10] ); Lie Algebra of dimension 6 with base ring Rational Field > SemisimpleType( Label( v[7] ) ); A1 > SemisimpleType( Label( v[8] ) ); A2 > SemisimpleType( Label( v[13] ) ); A1 A1 > SemisimpleType( Label( v[15] ) ); A1 C2
Here G is a subalgebras inclusion graph of the simple Lie algebra L, as output by the previous function, and k is a nonzero integer, corresponding to a vertex. This function returns the restriction matrix corresponding to L and the Lie algebra that is the label of the k-th vertex of G. This restriction matrix maps weights in a representation of L to weights of the subalgebra, and can be used to decompose a representation of L, as a representation of the subalgebra.
> G:= SubalgebrasInclusionGraph( "D4" ); > v:= Vertices(G); > tt:= [ SemisimpleType( Label(a) ) : a in v ]; > Index( tt, "G2" ); 17 > M:= RestrictionMatrix( G, 17 ); > R:= RootDatum( "D4" : Isogeny:= "SC" ); > S:= RootDatum( "G2" : Isogeny:= "SC" ); > D:= AdjointRepresentationDecomposition(R); > E:= Branch( S, D, M ); > WeightsAndMultiplicities(E); [ (0 1), (1 0) ] [ 1, 2 ]