[GAP Forum] subalgebras of simple lie algebras
Scott H. Murray
murray at maths.usyd.edu.au
Tue Dec 11 03:44:59 GMT 2007
Dear R.N.,
Here is a subalgebra of type D4D4 in E8:
gap> L := SimpleLieAlgebra("E",8,Rationals);
<Lie algebra of dimension 248 over Rationals>
gap> chev := ChevalleyBasis(L);;
gap> chev := Concatenation( chev[1], chev[2] );;
gap> M := Subalgebra(L, List(
> [ 2, 3, 4, 5, 7, 8, 97, 61, 122, 123, 124, 125, 127, 128, 217, 181 ],
> i -> chev[i] ) );
<Lie algebra over Rationals, with 16 generators>
gap> SemiSimpleType(M);
"D4 D4"
Dynkin (1952) gives a classification of semisimple subalgebras of simple
Lie algebras. He uses extended Dynkin diagrams, and that is how I
found D4D4. The Magma code used is attached. I don't know how to do the
whole computation in GAP -- I was able to copy the result over to GAP
because the two systems use the same bases for Lie algebras.
F4G2 cannot be a rational subalgebra of E8(Q). Taking subdiagrams of
extended Dynkin diagrams repeatedly never gives an F4 or a G2, unless you
start with an F4 or G2 respectively. It might be a subalgebra over an
extension of the rationals. For example, F4 is a subalgebra of E6 over
Q(sqrt(2)) [see table 24 in Dynkin's paper].
Deriziotis showed that all the rational subalgebras gotten by Dynkin's
classification can be found as centralisers of semisimple elements -- I
assume this is how the documentation example works.
All the best,
Scott.
-------------------------------------------------------
Scott H. Murray, Dept of Mathematics, Univ of Sydney
Email: murray at maths.usyd.edu.au
Homepage: http://www.maths.usyd.edu.au:8000/u/murray/
Phone: +61 2 9351-3881
-------------------------------------------------------
On Mon, 10 Dec 2007, R.N. Tsai wrote:
> Dear gap-forum,
>
> Is there a way to look for subalgebras of certain type in a simple lie
> algebra. Interestingly enough the example in the documentation is
> very close to what I'm looking for :
>
> gap> L:= SimpleLieAlgebra( "E", 8, Rationals );;
> gap> b:= BasisVectors( Basis( L ) );;
> gap> K:= LieCentralizer( L, Subalgebra( L, [ b[61]+b[79]+b[101]+b[102] ] ) );
> <Lie algebra of dimension 102 over Rationals>
> gap> lev:= LeviMalcevDecomposition(K);;
> gap> SemiSimpleType( lev[1] );
> "B3 A1"
>
> I need to find "F4 G2" and "D4 D4" types in E8. Any suggestions or references
> where the particular example in the docs came from would be very helpful.
>
> Thanks,
>
> R.N.
>
>
> ---------------------------------
> Never miss a thing. Make Yahoo your homepage.
> _______________________________________________
> Forum mailing list
> Forum at mail.gap-system.org
> http://mail.gap-system.org/mailman/listinfo/forum
>
>
-------------- next part --------------
highestNegRts := function( R )
sc, h := SimplyConnectedVersion( R );
return { RootPosition(R,h(Root(C,2*NumPosRoots(C)))) :
C in DirectSumDecomposition(sc) };
end function;
maxlSubs := function( R )
n := Rank( R );
rts := [1..n] cat Setseq(highestNegRts( R ));
return [sub< R | Seqset( Remove( rts, i ) ) > : i in [1..n] ];
end function;
R := RootDatum("E8");
allsubs := maxlSubs( R );
allsubs;
allsubs := allsubs[[1,6,7,8]];
allsubs := &cat[ maxlSubs(S) : S in allsubs ];
for i in [1..#allsubs] do print i, CartanName(allsubs[i]); end for;
allsubs := allsubs[[1,5,8,17,31]];
allsubs := &cat[ maxlSubs(S) : S in allsubs ];
for i in [1..#allsubs] do print i, CartanName(allsubs[i]); end for;
S := allsubs[5];
L := LieAlgebra(R,Rationals());
A, B := ChevalleyBasis(L);
chev := A cat B;
pos := [ RootPosition( R, Root(S,i) ) : i in [1..8] ];
pos cat:= [ Negative( R, r ) : r in pos ];
pos;
M := sub< L | chev[pos] >;
SemisimpleType(M);
> highestNegRts := function( R )
function> sc, h := SimplyConnectedVersion( R );
function> return { RootPosition(R,h(Root(C,2*NumPosRoots(C)))) :
function|return> C in DirectSumDecomposition(sc) };
function> end function;
>
> maxlSubs := function( R )
function> n := Rank( R );
function> rts := [1..n] cat Setseq(highestNegRts( R ));
function> return [sub< R | Seqset( Remove( rts, i ) ) > : i in [1..n] ];
function> end function;
>
> R := RootDatum("E8");
> allsubs := maxlSubs( R );
> allsubs;
[
Root datum of dimension 8 of type D8 ,
Root datum of dimension 8 of type A8 ,
Root datum of dimension 8 of type A1 A7 ,
Root datum of dimension 8 of type A2 A1 A5 ,
Root datum of dimension 8 of type A4 A4 ,
Root datum of dimension 8 of type D5 A3 ,
R: Root datum of dimension 8 of type E6 A2 ,
Root datum of dimension 8 of type E7 A1
]
> allsubs := allsubs[[1,6,7,8]];
> allsubs := &cat[ maxlSubs(S) : S in allsubs ];
> for i in [1..#allsubs] do print i, CartanName(allsubs[i]); end for;
1 D8
2 D8
3 A1 A1 D6
4 A3 D5
5 D4 D4
6 D5 A3
7 D6 A1 A1
8 D8
9 D5 A3
10 D5 A3
11 A1 A3 A3 A1
12 A3 A1 A1 A3
13 D5 A3
14 D5 A3
15 D5 A3
16 D5 A3
17 E6 A2
18 A5 A2 A1
19 A1 A5 A2
20 A2 A2 A2 A2
21 A5 A1 A2
22 E6 A2
23 E6 A2
24 E6 A2
25 D6 A1 A1
26 A7 A1
27 A2 A5 A1
28 A3 A1 A3 A1
29 A5 A2 A1
30 D6 A1 A1
31 E7 A1
32 E7 A1
> allsubs := allsubs[[1,5,8,17,31]];
> allsubs := &cat[ maxlSubs(S) : S in allsubs ];
> for i in [1..#allsubs] do print i, CartanName(allsubs[i]); end for;
1 D8
2 D8
3 A1 A1 D6
4 A3 D5
5 D4 D4
6 D5 A3
7 D6 A1 A1
8 D8
9 D4 D4
10 D4 D4
11 A1 A1 A1 D4 A1
12 D4 D4
13 D4 D4
14 D4 A1 A1 A1 A1
15 D4 D4
16 D4 D4
17 D8
18 D8
19 A1 A1 D6
20 A3 D5
21 D4 D4
22 D5 A3
23 D6 A1 A1
24 D8
25 E6 A2
26 A5 A2 A1
27 A1 A5 A2
28 A2 A2 A2 A2
29 A5 A1 A2
30 E6 A2
31 E6 A2
32 E6 A2
33 D6 A1 A1
34 A7 A1
35 A2 A5 A1
36 A3 A1 A3 A1
37 A5 A2 A1
38 D6 A1 A1
39 E7 A1
40 E7 A1
>
> S := allsubs[5];
> L := LieAlgebra(R,Rationals());
> A, B := ChevalleyBasis(L);
> chev := A cat B;
> pos := [ RootPosition( R, Root(S,i) ) : i in [1..8] ];
> pos cat:= [ Negative( R, r ) : r in pos ];
> pos;
[ 2, 3, 4, 5, 7, 8, 97, 61, 122, 123, 124, 125, 127, 128, 217, 181 ]
> M := sub< L | chev[pos] >;
> SemisimpleType(M);
D4 D4
>
More information about the Forum
mailing list