# Software package to manipulate representations

Hi,

I am looking for a software package that will allow me to experiment with the irreducible representations of lie groups (for example, $SL(2,p)$) over the complex field and over finite fields. That is, I would like to get the corresponding matrices for group elements. Thanks, Shachar

For representations over the complex field, I know that GAP does a good job. (I'm not sure if it can do modular representations as well, but I wouldn't be surprised.)

Here is some example code to get you started:

G:=SL(2,3);;
reps:=IrreducibleRepresentations(G);;
Elements(G);
List(G,g->g^reps[5]);


This prints the elements of the group $SL(2,3)$:

[ [ [ 0*Z(3), Z(3)^0 ], [ Z(3), 0*Z(3) ] ],
[ [ 0*Z(3), Z(3)^0 ], [ Z(3), Z(3)^0 ] ],
[ [ 0*Z(3), Z(3)^0 ], [ Z(3), Z(3) ] ],
[ [ 0*Z(3), Z(3) ], [ Z(3)^0, 0*Z(3) ] ],
[ [ 0*Z(3), Z(3) ], [ Z(3)^0, Z(3)^0 ] ],
[ [ 0*Z(3), Z(3) ], [ Z(3)^0, Z(3) ] ],
[ [ Z(3)^0, 0*Z(3) ], [ 0*Z(3), Z(3)^0 ] ],
[ [ Z(3)^0, 0*Z(3) ], [ Z(3)^0, Z(3)^0 ] ],
[ [ Z(3)^0, 0*Z(3) ], [ Z(3), Z(3)^0 ] ],
[ [ Z(3)^0, Z(3)^0 ], [ 0*Z(3), Z(3)^0 ] ],
[ [ Z(3)^0, Z(3)^0 ], [ Z(3)^0, Z(3) ] ],
[ [ Z(3)^0, Z(3)^0 ], [ Z(3), 0*Z(3) ] ],
[ [ Z(3)^0, Z(3) ], [ 0*Z(3), Z(3)^0 ] ],
[ [ Z(3)^0, Z(3) ], [ Z(3)^0, 0*Z(3) ] ],
[ [ Z(3)^0, Z(3) ], [ Z(3), Z(3) ] ],
[ [ Z(3), 0*Z(3) ], [ 0*Z(3), Z(3) ] ],
[ [ Z(3), 0*Z(3) ], [ Z(3)^0, Z(3) ] ],
[ [ Z(3), 0*Z(3) ], [ Z(3), Z(3) ] ],
[ [ Z(3), Z(3)^0 ], [ 0*Z(3), Z(3) ] ],
[ [ Z(3), Z(3)^0 ], [ Z(3)^0, Z(3)^0 ] ],
[ [ Z(3), Z(3)^0 ], [ Z(3), 0*Z(3) ] ],
[ [ Z(3), Z(3) ], [ 0*Z(3), Z(3) ] ],
[ [ Z(3), Z(3) ], [ Z(3)^0, 0*Z(3) ] ],
[ [ Z(3), Z(3) ], [ Z(3), Z(3)^0 ] ]
]


followed by complex matrices representing each element:

[ [ [ 0, -1 ], [ 1, 0 ] ],
[ [ E(3)^2, -E(3) ], [ 1, 0 ] ],
[ [ -E(3), -E(3)^2 ], [ 1, 0 ] ],
[ [ 0, 1 ], [ -1, 0 ] ],
[ [ E(3), E(3)^2 ], [ -1, 0 ] ],
[ [ -E(3)^2, E(3) ], [ -1, 0 ] ],
[ [ 1, 0 ], [ 0, 1 ] ],
[ [ E(3), E(3)^2 ], [ 0, 1 ] ],
[ [ E(3)^2, -E(3) ], [ 0, 1 ] ],
[ [ 1, 0 ], [ E(3), E(3)^2 ] ],
[ [ -E(3)^2, E(3) ], [ E(3), E(3)^2 ] ],
[ [ 0, -1 ], [ E(3), E(3)^2 ] ],
[ [ 1, 0 ], [ -E(3)^2, E(3) ] ],
[ [ 0, 1 ], [ -E(3)^2, E(3) ] ],
[ [ -E(3), -E(3)^2 ], [ -E(3)^2, E(3) ] ],
[ [ -1, 0 ], [ 0, -1 ] ],
[ [ -E(3)^2, E(3) ], [ 0, -1 ] ],
[ [ -E(3), -E(3)^2 ], [ 0, -1 ] ],
[ [ -1, 0 ], [ E(3)^2, -E(3) ] ],
[ [ E(3), E(3)^2 ], [ E(3)^2, -E(3) ] ],
[ [ 0, -1 ], [ E(3)^2, -E(3) ] ],
[ [ -1, 0 ], [ -E(3), -E(3)^2 ] ],
[ [ 0, 1 ], [ -E(3), -E(3)^2 ] ],
[ [ E(3)^2, -E(3) ], [ -E(3), -E(3)^2 ] ]
]


Change "5" to other numbers to see different representations. Also, note that the GAP symbol

Z(p)


denotes a generator of the multiplicative group of the finite field $\mathbb{F}_p$. Similarly,

E(k)


denotes a primitive $k^{\mbox{th}}$ root of unity.