> < ^ From:

> < ^ Subject:

Dear Amy,

I'm trying to compute the character for the representation of the action

of a Weyl group on the cosets of a maximal Weyl subgroup. I found

the command

"PermutationCharacter" which seems to do what I want for small groups

but for larger ones gives me the following:

Maybe the CHEVIE package, distributed with GAP-3.4.4, can be helpful

for your kind of problem.

It allows to define quite easily such Weyl groups and Weyl

subgroups. The command 'InductionTable(U,G)' gives you the

decomposition of all irreducible characters of U, induced to G into

irreducible characters of G. You are just interested in the induced

trivial character of U.

The following function 'CoxeterPermutationCharacter' extracts the

information you want. To understand the code in more detail check the

help pages for 'CHEVIE', 'CoxeterGroup', 'ReflectionSubgroup',

'PrintDynkinDiagram', 'PositionId'.

The function 'CoxeterPermutationCharacter' may be also quite efficient

for arbitrary permutation groups W and subgroups U, but I did no

proper tests.

RequirePackage("chevie");

CoxeterPermutationCharacter:=function(W,U)

local cw, cu, it, pos;

cw:=CharTable(W);

cu:=CharTable(U);

it:=InductionTable(U,W);

pos:=PositionId(cu);

return List(it.scalar,a->a[pos])*cw.irreducibles;

end;

# Here is how to use this program.

# This defines a Weyl group of type E_7:

we7:=CoxeterGroup("E",7);

# Now we run through all maximal reflection subgroups: for i in [1..7] do u:=ReflectionSubgroup(we7,Difference([1..7],[i])); PrintDynkinDiagram(u); Print(CoxeterPermutationCharacter(we7,u),"\n"); Print("------------------------------\n\n"); od;

With best regards,

Frank Luebeck

> < [top]