Matrix representations |
odg(), sdg()as well as three versions of the rational integral form:
bdg(),ndg(),specht_dg()The first one is the one described in H. Boerner's book, first edition, the second one is described in the book by D. E. Rutherford, in Boerner'st book, second edition, as well as in the book by G. D. James and A. Kerber. The third form is due to W. Specht, and it has the advantage that it allows to evaluate a matrix representation corresponding to a skew diagram. Here is a little program:
scan(PARTITION,part); scan(PERMUTATION,perm); bdg(part,perm,D); tex(D); sdg(part,perm,D); tex(D); odg(part,perm,D); tex(D); specht_dg(part,perm,D); tex(D);If you input the partition 2 3 and the permutation (in list notation) [23451], say then you will receive an output which you can easily transform in a TeX-readible file of the following form which shows you the corresponding matrices:
-1 | -1 | 1 | 1 | 0 |
-1 | 0 | 0 | 0 | 1 |
0 | -1 | 0 | 0 | 0 |
-1 | 0 | 0 | 1 | 0 |
0 | -1 | 0 | 1 | 0 |
1 / 4 | -3 / 8 | 3 / 8 | -9 / 16 | 0 |
-1 / 2 | 1 / -4 | -3 / 4 | 3 / -8 | 0 |
-1 / 2 | -1 / 4 | 1 / 4 | 1 / 8 | -2 / 3 |
1 | 1 / -6 | 1 / -2 | 1 / 12 | 4 / -9 |
0 | 1 | 0 | 1 / -2 | 1 / -3 |
1 / 4 | -1 / 4 sqrt( 3 ) | 1 / 4 sqrt( 3 ) | -3 / 4 | 0 |
-1 / 4 sqrt( 3 ) | 1 / -4 | -3 / 4 | 1 / -4 sqrt( 3 ) | 0 |
-1 / 4 sqrt( 3 ) | -1 / 4 | 1 / 4 | 1 / 12 sqrt( 3 ) | -1 / 3 sqrt( 6 ) |
3 / 4 | 1 / -12 sqrt( 3 ) | 1 / -4 sqrt( 3 ) | 1 / 12 | 1 / -3 sqrt( 2 ) |
0 | 1 / 3 sqrt( 6 ) | 0 | 1 / -3 sqrt( 2 ) | 1 / -3 |
0 | -1 | 0 | 0 | 0 |
0 | 0 | -1 | 0 | 0 |
1 | 0 | -1 | -1 | 1 |
0 | 0 | -1 | 0 | 1 |
0 | 1 | -1 | -1 | 1 |
For the modular case, SYMMETRICA provides the routines used by A. Golembiowski which are based on the definition of the irreducible modules given by M. Clausen using standard bideterminants. The routine is called
moddg().There are also routines for the evaluation of the ordinary irreducible polynomial representations of general linear groups GLm(C):
glmndg()uses symmetry adapted bases in order to decompose the tensor product Än(Cm) as GLm(C)-module. The output is a vector of polynomial matrices corresponding to the irreducible constituents (which means the ordinary irreducible polynomial matrix representations of GL_m associated with the partitions of n with at most m parts). Here you can use odg (if you call 0L, see the first line in the following program) or either bdg() (the second line, calling 1L) for the representations of symmetric groups, and, as far as it has been tested with bdg(), the polynomials in the representing matrices turned out to have integral coefficients. Here is the main part of the program:
scan(INTEGER,m); scan(INTEGER,n); glmndg(m,n,M,0L); println(M); for(i=0L;i<S_V_LI(M);++i) glm_homtest(m,S_V_I(M,i)); glmndg(m,n,M,1L); println(M); for(i=0L;i<S_V_LI(M);++i) glm_homtest(m,S_V_I(M,i));(please note that it contains a test for homomorphism property). In case you enter 2 for m as well as for n, you will obtain an output which needs some explanations. Here are the first few lines of the output:
D = 3 * 1(D1) + 1 * 1(D2)
[
[1
[2:]
:1
[1:1:]
:1
[0:2:]
:]
[2
vdots
The first row of this output indicates that the tensor square Ä2C2 decomposes (as S2-left module) into three times the representation D1 of S2 (which corresponds to the first partition of 2 and therefore is equal to the identity representation, as we are numbering partitions in the reverse lexicographical way) and the (alternating) representation D2 with multiplicity 1. In the second row of the output we start giving the representing matrix for GL2 row by row. The first bracket is the bracket of the matrix, the second bracket indicates that here the first row starts. The first entry 1 is the coefficient of the first monomial in the first entry of the representing matrix, and so on. The first monomial is indicated by [2:] which says that only indeterminates of the form x1,k occur, and just the first one of them, which is x11, and that its exponent is 2. The end of the first row is indicated by :]. Hence the upper left hand corner of the representing matrix is as follows:
(A more general monomial, say x12x23 is indicated in this method by)
1·x112 1·x11x12 1·x122 2... ... ... ...
1
[[0:1:0:]
[0:0:1:]:]
Another routine, namely
glpdg()gives, for a partition of n with at most m parts, the corresponding irreducible polynomial representation of GLm(C). It should be noted, that this last routine uses the orthogonal form of the representations of the symmetric group. Moreover we should mention that in this case at present no homomorphism test can be applied. (The homomorphism test, which is the routine glm_homtest(), as you saw already, runs as follows: Two matrices are generated, the entries of which are randomly generated integers between -5 and +5, and it is checked if the product of their images is the image of their products.)
There is also a way of getting the output in LaTeX-readable form (but up to now it works only for the representations of general linear groups). Here is a corresponding test program:
... glmndg(m,n,M,1L); println(M); for(i=0L;i<S_V_LI(M);++i) latex_glm_dar(S_V_I(M,i)); ...In the case when you enter 2 for m and for n, then the LaTeX-readable part of the output is, after processing it with LaTeX:
[.
x1 12 2x1 1 x2 1 x2 12
..
x1 1 x1 2 x1 2 x2 1 +x1 1 x2 2 x2 1 x2 2
.]
x1 22 2x1 2 x2 2 x2 22
[You see that latex_glm_dar() gives each column of the representing matrix in a separate array.]
-x1 2 x2 1 +x1 1 x2 2
Matrix representations |