[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