[GAP Forum] Re: representations of Lie algebras
R.N. Tsai
r_n_tsai at yahoo.com
Wed Jun 15 06:39:01 BST 2005
Thanks Willem; this is exactly what I had in mind.
I checked the representations in the tests below :
I tried a few algebras and reps (Test1(3,[1,0,1]) for example or Test2(2,[1,1]));
Everything looks in order except that I had to add an extra factor
of 2 for things to match...maybe there's a normalization convention
somewhere that I missed.
Thanks again for your help.
R.N.
# check that the rep is a morphism
Test1:=function(n,w)local L,V,Lb,Vb,M,A1,A2,B1,B2;
L:=SimpleLieAlgebra("A",n,Rationals);
V:= HighestWeightModule(L,w);
Lb:=Basis(L);
Vb:=Basis(V);
M:=x->MatrixOfAction(Vb,x);
for A1 in Basis(L) do
for A2 in Basis(L) do
B1:=M(A1*A2-A2*A1);
B2:=M(A1)*M(A2)-M(A2)*M(A1);
Print(" check ",B1=2*B2,"\n"); # <--- extra factor of 2
od;
od;
end;
# check that the rep is a morphism (same as Test1, faster)
Test2:=function(n,w)local L,V,Lb,Vb,Mb,B1,B2;
L:=SimpleLieAlgebra("A",n,Rationals);
V:= HighestWeightModule(L,w);
Lb:=Basis(L);
Vb:=Basis(V);
Mb:=List(Lb,x->MatrixOfAction(Vb,x));
#Mb:=List(Lb,x->AdjointMatrix(Lb,x));
B1:=List(Lb,x->List(Lb,y->LinearCombination(Mb,Coefficients(Lb,x*y-y*x))));
B2:=List(Mb,x->List(Mb,y->x*y-y*x));
Print(" check ",B1=2*B2,"\n");
end;
degraaf at science.unitn.it wrote:
Dear R. N. Tsai,
You asked:
> I didn't find a way to get explicit matrices for representation.
> Is this possible?
For this you can use the function "MatrixOfAction", for example
gap> L:= SimpleLieAlgebra( "A", 2, Rationals );
gap> V:= HighestWeightModule( L, [1,1] );
<8-dimensional left-module over
>
gap> x:= Basis(L)[1];
v.1
gap> MatrixOfAction( Basis(V), x );
[ [ 0, 1, 0, 0, 0, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 0, 0, 0 ],
[ 0, 0, 0, 2, 1, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 1, 0, 0 ],
[ 0, 0, 0, 0, 0, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 0, 0, 0 ],
[ 0, 0, 0, 0, 0, 0, 0, 1 ], [ 0, 0, 0, 0, 0, 0, 0, 0 ] ]
or if you would like to have a function of Lie algebra elements alone:
gap> rep:= function( x ) return MatrixOfAction( Basis(V), x ); end;
function( x ) ... end
gap> rep( x );
[ [ 0, 1, 0, 0, 0, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 0, 0, 0 ],
[ 0, 0, 0, 2, 1, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 1, 0, 0 ],
[ 0, 0, 0, 0, 0, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 0, 0, 0 ],
[ 0, 0, 0, 0, 0, 0, 0, 1 ], [ 0, 0, 0, 0, 0, 0, 0, 0 ] ]
I hope this answers your question. If not, or if you have any other
questions, then please ask again.
Best wishes,
Willem de Graaf
---------------------------------
Discover Yahoo!
Stay in touch with email, IM, photo sharing & more. Check it out!
More information about the Forum
mailing list