[GAP Forum] semisimple algebra invariant subspace decomposition
R.N. Tsai
r_n_tsai at yahoo.com
Sat Dec 15 21:35:58 GMT 2007
Dear gap-forum,
I am trying to calculate this decomposition of semisimple Lie algebras :
d4 occurs as a subalgebra of f4; it action on f4 can be broken into
these invariant subspaces :
f4 = d4 + V8 + V8' + V8'' (dimensions : 52 = 28 + 8 + 8 + 8)
(this should be the same as the branching rule for the adjoint rep
of f4 into ireps of d4).
I was able to do that for F4 as an algebra; the code below
Test1:=function()local F4,D4,bF4,bD4,vD4,T,TT,V,M,t;
# define F4
F4:=SimpleLieAlgebra("F",4,DefaultField([ER(2),ER(3)]));
Print(SemiSimpleType(F4),"\n");
bF4:=ChevalleyBasis(F4);
# D4 subalgebra in F4 generated by long roots
T:=[2,4,6,10,13,15,16,18,20,22,23,24];
vD4:=Concatenation(bF4[1]{T},bF4[2]{T},bF4[3]);
D4:=Subalgebra(F4,vD4);
Print(SemiSimpleType(D4),"\n");
#short roots
TT:=Difference([1..24],T);
#look for 8 dimensional subspaces spanned by short roots, heuristic
for t in Combinations(TT,4) do
V:=Concatenation(bF4[1]{t},bF4[2]{t});
M:=List(vD4,x->List(V,y->Coefficients(BasisNC(F4,V),x*y)));
#if matrix exists, it's the action on V
if(not(fail in Flat(M)))then Print(t," A*V=V ",Length(V),"\n");fi;
od;
end;
produces :
gap> Test1();
F4
D4
[ 1, 12, 14, 17 ] A*V=V 8
[ 3, 7, 9, 21 ] A*V=V 8
[ 5, 8, 11, 19 ] A*V=V 8
So far so good. Now F4 occurs as an algebra in E8. Thanks to Scott Murray
for sending me an explicit construction of that. Using that I tried to
get a similar decomposition with F4 as a subalgebra. First question :
If you call ChevalleyBasis on a subalgebra of given semisimple type (F4)
here, is there any relation (ordering,...) to the basis called on a full
algebra? It doesn't look like it from what I've seen. Is there a way to
make the returned basis "standard?"
Since I couldn't match the Chevalley basis in both instances of F4 (as a
stand alone algebra and as a subalgebra of E8). I tried a brute force search.
I was able to find a D4, but when looking for the other components of the
decompositions, I ran into the failure below. I don't know why this failure
is more severe than just reporting that "Coefficients" failed to find an
answer; this happens in the first case (Test1) above. Here's the code :
Test2:=function()local E8,bE8,e,f,F4,D4,bF4,bD4,vD4,T,TT,V,M,t;
# define E8, DefaultField([ER(2),ER(3)]) necessary to find an F4
E8:=SimpleLieAlgebra("E",8,DefaultField([ER(2),ER(3)]));
bE8:=ChevalleyBasis(E8);
e:=bE8[1]{[8,7,6,5,4,3,1,2]};
f:=bE8[2]{[8,7,6,5,4,3,1,2]};
# define F4 subalgebra of E8
F4:=Subalgebra(E8,[e[8],e[5],(e[4]+e[6])/ER(2),(e[3]+e[7])/ER(2),f[8],f[5],(f[4]+f[6])/ER(2),(f[3]+f[7])/ER(2)]);
Print(SemiSimpleType(F4),"\n");
bF4:=ChevalleyBasis(F4);
# D4 subalgebra in F4 generated by long roots
T:=[1,2,5,10,12,14,16,18,19,22,23,24];
vD4:=Concatenation(bF4[1]{T},bF4[2]{T},bF4[3]);
D4:=Subalgebra(F4,vD4);
Print(SemiSimpleType(D4),"\n");
#short roots
TT:=Difference([1..24],T);
#look for 8 dimensional subspaces spanned by short roots, heuristic
for t in Combinations(TT,4) do
V:=Concatenation(bF4[1]{t},bF4[2]{t});
M:=List(vD4,x->List(V,y->Coefficients(BasisNC(F4,V),x*y)));
if(not(fail in Flat(M)))then Print(t," A*V=V ",Length(V),"\n");fi;
od;
end;
and the failure it produces
gap> Test2();
F4
D4
Matrix INV: <mat> must be square (not 8 by 52) at
return INV_MATRIX_SAME_MUTABILITY( mat );
called from
List( vectors, function ( x )
return Coefficients( B, x );
end ) called from
RelativeBasisNC( Basis( V ), gens ) called from
BasisNC( NiceFreeLeftModule( A ), List( BasisVectors( B ), function ( v )
return NiceVector( A, v );
end ) ) called from
NiceBasisNC( B ) called from
Coefficients( BasisNC( F4, V ), x * y ) called from
...
Entering break read-eval-print loop ...
you can 'quit;' to quit to outer loop, or
you can replace <mat> via 'return <mat>;' to continue
Thanks for any suggestions of what I did wrong or if there's an
alternate way to get these invariant subspaces.
Regards,
R.N.
---------------------------------
Never miss a thing. Make Yahoo your homepage.
More information about the Forum
mailing list