Fake polynomials

The information given below is related to the calculations described in the paper On singular Calogero-Moser spaces (arXiv).

The code used to calculate the data in the table Table (3.3) of the above paper is given here (pdf).

For a quick explanation of what "fake polynomials" are, click here.

Below, for each of the exceptional, irreducible complex reflection groups G4 - G37 (as labelled in [ST]), we give its character table and the fake polynomial associated to each irreducible character of the group. We also give the remainder on division of the Poincar polynomial of the coinvariant ring by a certain multiple of each fake polynomial (see section 3.2 of (pdf) for an explanation).

We also give the same information for some of the groups of smaller rank belonging to the infinite series G(m,p,n) here.

The data was produced using the computer algebra package MAGMA [MAG], the corresponding code is available here. This data can also be calculated using the package Chevie [CHE] which is part of GAP [GAP]. Code to do this is given below. Note that the fake polynomials for G19 take a long time to calculate (~2 hours on a desktop pc) using the magma code. Chevie will calculate them much faster. 

The groups G35,G36,G37,G28,G23 and G30 correspond the Weyl groups with root system E6, E7, E8, F4, H3 and H4 respectively.

Some examples from the series G(m,p,n)

Chevie Code

To load the Chevie package type:

RequirePackage( "chevie" );
q := X( Cyclotomics );; q.name := "q";;

Given a complex reflection group G type:

FakeDegrees(G,q);

to get a list of the corresponding fake polynomials.

Then the following code allows you to divide a nonzero polynomial p by a sufficient power of t so that the degree zero coefficient of the resulting polynomial is nonzero.

PolynomialCoefficients:= function(f)
local coes,g,d,c,i;
coes := [];
g := f;
while Degree(g) > 0 do
d := Degree(g);
c := LeadingCoefficient(g);
coes[d+1] := c;
g := g - c*q^d;
od;
coes[1] := LeadingCoefficient(g);
for i in [1..Length(coes)] do
if IsBound(coes[i]) = false then
coes[i] := 0;
fi;
od;
return coes;
end;

TrailingTerm:= function(f)
local coes,p,i;
coes := PolynomialCoefficients(f);
p := PositionProperty(coes, i -> not( i = 0));
return coes[p]*q^(p-1);
end;

Given a complex reflection group G, set O := Size(G); then the following code produces a list of the Poincare polynomial of G mod the "reduced" fake polynomials.

fakedegrees := FakeDegrees(G,q);
N := Length(fakedegrees);
exponents := ReflectionDegrees(G);
PoincarePolynomial := Product(List([1..Length(exponents)], i -> ((1-q^exponents[i]) / (1-q))));
remainders := List([1..N], i -> EuclideanRemainder(TrailingTerm(fakedegrees[i])*PoincarePolynomial,fakedegrees[i]));

References:

[ST] : G.C. Shephard and J.A. Todd, Finte unitary reflection groups, Canad. J. Math., 6, 274 - 304, (1954).

[MAG] : MAGMA is described in W. Bosma, J. Cannon and C. Playoust, The Magma algebra system I: The user language, J. Symbolic Comput., 24, 235-265 (1997). The Magma homepage is at http://magma.maths.usyd.edu.au/magma/

[GAP] : Martin Schonert et.al. GAP -- Groups, Algorithms, and Programming -- version 3 release 4 patchlevel 4. Lehrstuhl D fur Mathematik, Rheinisch Westfalische Technische Hochschule, Aachen, Germany, 1997.

[CHE] : M. Geck, G. Hiss, F. Lubeck, G. Malle, and G. Pfeiffer. CHEVIE: A system for computing and processing generic character tables for finite groups of Lie type, Weyl groups and Hecke algebras. Appl. Algebra Engrg. Comm. Comput., 7, 175 - 210, 1996. The CHEVIE homepage is at http://www.math.rwth-aachen.de/~CHEVIE