Specht 2.4

Decomposition matrices for the Hecke algebras of type A

A package for calculating decomposition numbers of
Hecke algebras of the symmetric groups and q-Schur

Andrew Mathas
University of Sydney

© Andrew Mathas October 1997.
Specht runs only under Gap 3.4; it is not compatible with Gap 4
(which, unfortunately is not backwardly compatible). When (if?)
I have time I will release a Gap 4 version of these programs.

For installation notes see below. What follows is a brief description of the package; more details can be found in the manual, which can be downloaded separately from this page as either a dvi file (43kB) or a postscript file (88kB).

Specht is included as a share package in Gap, version 3.4.4. It is made available under the usual terms and conditions of Gap.

If you have any questions or problems please email me.

Andrew Mathas


The version of Specht available from this page is more recent than the version included with Gap 3.4.4 at St. Andrews.

This package contains functions for computing the decomposition matrices for Hecke algebras of the symmetric groups. As the (modular) representation theory of these algebras closely resembles that of the (modular) representation theory of the symmetric groups - indeed, the later is a special case of the former - many of the combinatorial tools from the representation theory of the symmetric group are included in this package.

These programs grew out of the attempts by Gordon James and myself [JM1] to understand the decomposition matrices of Hecke algebras of type A when $q=-1$. The package is now much more general and its highlights include:

  1. Specht provides a means of working in the Grothendieck ring of a Hecke algebra using the three natural bases corresponding to the Specht modules, projective indecomposable modules, and simple modules.
  2. For Hecke algebras defined over fields of characteristic zero we have implemented the algorithm of Lascoux, Leclerc, and Thibon [LLT] for computing decomposition numbers and ``crystallized decomposition matrices''. In principle, this gives all of the decomposition matrices of Hecke algebras defined over fields of characteristic zero.
  3. We provide a way of inducing and restricting modules. In addition, it is possible to ``induce'' decomposition matrices; this function is quite effective in calculating the decomposition matrices of Hecke algebras for small n.
  4. The q-analogue of Schaper's theorem [JM] is included, as is Kleshchev's [K] algorithm of calculating the Mullineux map. Both are used extensively when inducing decomposition matrices.
  5. Specht can be used to compute the decomposition numbers of q-Schur algebras (and the general linear groups), although there is less direct support for these algebras. The decomposition matrices for the q-Schur algebras defined over fields of characteristic zero for $n<11$ and all e are included in Specht.
  6. The Littlewood-Richard rule, its inverse, and functions for many of the standard operations on partitions (such as calculating cores, quotients, and adding and removing hooks), are included.
  7. The decomposition matrices for the symmetric groups $\Sym_n$ are included for $n<15$ and for all primes.
A complete description of what is available in the package can be found in the manual.


First you must obtain the file specht-2.4.tar.gz (156 kB); either from here or via ftp from http://www-groups.dcs.st-and.ac.uk/~gap. Once you have this file you can unpack it with the commands
  1. gunzip specht-2.4.tar.gz
  2. tar -xfv specht-2.4.tar
    When you do this you should find the following files in a directory called ``specht-2.4'':
    README       -this file
    doc/         -Specht documentation (see below)
    gap/         -Gap source
    init.g       -initialization file
    lib/         -Specht library files 
    Ideally, Specht should be installed in the Gap packages directory, however, it can be installed anywhere. If Specht is not installed in the GAP packages directory then include suitably edited versions of the following lines
    Add(PKGNAME, "/path/to/directory/containing/specht/"); PKGNAME:=Reversed(PKGNAME);
    in your .gaprc file in your home directory (create such a file with these lines if you don't already have one). The second line ensures that this version of Specht is used in preference to any other version lying around on your system.
Specht is now installed and ready to use:
gap> RequirePackage("specht");
gap> H:=Specht(3);
Specht(e=3, S(), P(), D(), Pq())

Installing Specht's documentation

The documentation for Specht can be found in the subdirectory 'doc'. The more inportant files in this directory are:
  specht.tex  -LaTeX source for the manual
  specht.html  -an HTML version of the manaul
  manual.tex  -header file for LaTeXing specht.tex
  install.tex -these installation notes
To install the online documentation for Specht proceed as follows:
  1. Copy specht.tex into the GAP doc/ directory.
  2. Change directory to GAPs doc directory and add the line \Include{specht} to manual.tex.
  3. LaTeX manual.tex.
  4. Run makeindex (if available) and re-LaTeX manual.tex.
A (printed) copy of the Specht manual can be obtained by LaTeXing, and printing, the file manual.tex in Specht's doc directory.