> < ^ From:

> ^ Subject:

This may not be relevant to what you're trying to calculate, but I did write

some GAP code to work with semisimple Lie algebras and their representations.

The code is, to some extent, also setup to deal with Kak-Moody algebras;

although I haven't pursued that too far yet. Here's a brief desciption:

(1) The starting point is the Killing form matrix - same as Cartan matrix

for ADE algebras, slightly different for the others. The code includes

routines to generate these matrices for An,Bn,Cn,Dn,G2,F4,E6,E7,E8 as

well as the affine and "twisted" versions of these.(2) From the matrix in (1) the Cartan matrix, root system, half of positive

roots, adjoint rep, basic reps, ... and other standard structures

derived. (For infinite root systems the calculations are stopped after

a certain point).

(3) For Lie algebras, the Weyl dimension formula is provided.

(4) For Lie algebras, the weights and multiplicities of a represntation

are calculated given its highest weight. (this uses Freudenthal's

recursive formula).

There is a slight amount of overlap of this code with parts of the Weyl

package; the code is not well documented but it should make sense (I hope) to

those familiar with the subject. I can e-mail it to anyone intereted.

Jacob Hirbawi

JcbHrb@CERF.net

Below is a sample session : -------------------------------------------------------------------------------- # look at the Lie algebra g2 gap> G2 := WeylModule( Sg(2) ); # some info printed by the routine, can be disabled. (1) Killing Matrix [ [ 2, -3 ], [ -3, 6 ] ] (2) Cartan Matrix [ [ 2, -3 ], [ -1, 2 ] ] (3) Det of Cartan Matrix 1 (4) Positive Roots 6 (5) Coxeter Number 5 (6) Highest Root [ 3, 2 ] (7) Adjoint Rep [ 0, 1 ] (8) Rho [ 5, 3 ] true (9) Simple Dimensions [ 7, 14 ] true # output record rec( Rho := [ 5, 3 ], SimpleWeights := [ [ 2, 1 ], [ 3, 2 ] ], Dimension := function ( rep ) ... end, Weights := function ( rep ) ... end ) # find the dimeniosn of rep with highest weight [4,2] gap> G2.Dimension([4,2]); 2926 # find the weight and multiplicities of the rep highest weight [2,0] gap> G2.Weights([2,0]); Dimension 27 true rec( Weight := [ [ 4, 2 ], [ 3, 2 ], [ 2, 2 ], [ 3, 1 ], [ 2, 1 ], [ 1, 1 ], [ 2, 0 ], [ 0, 1 ], [ 1, 0 ], [ 0, 0 ], [ -1, 0 ], [ 0, -1 ], [ -2, 0 ], [ -1, -1 ], [ -2, -1 ], [ -3, -1 ], [ -2, -2 ], [ -3, -2 ], [ -4, -2 ] ], Multiplicity := [ 1, 1, 1, 1, 2, 2, 1, 1, 2, 3, 2, 1, 1, 2, 2, 1, 1, 1, 1 ] ) --------------------------------------------------------------------------------

> < [top]