how to find reduced words for each element of reflection (Coxeter) group in GAP

161 Views Asked by At

I have a finite reflection (or Coxeter) group defined abstractly through the standard presentation

$$(s_i s_j)^{c_{ij}}=1$$

For each of its elements I want to find the number of reduced words equal to it. Is this possible in GAP or one of its packages?

Here's an excerpt from a paper that gives more details : enter image description here

1

There are 1 best solutions below

5
On BEST ANSWER

Here is some GAP code using KBMAG to do this example. I won't try and explain in detail what it is doing, but please let me know if anything is unclear.

As I said, this approach will become too slow if you want to do larger examples with longer words. There is a better method for testing words in Coxeter groups for irreducibility but I am not aware of any GAP implementation.

LoadPackage("kbmag");
F := FreeGroup(3);;
G := F/[F.1^2,F.2^2,F.3^2,(F.1*F.2)^3,(F.2*F.3)^3,(F.1*F.3)^2];;
R := KBMAGRewritingSystem(G);;
A := AutomaticStructure(R);;
W := EnumerateReducedWords(R,6,6);;
CoxElt := W[1]; #canonical word for the Coxeter element
H := F/[F.1^2,F.2^2,F.3^2];;
RH := KBMAGRewritingSystem(H);;
AH := AutomaticStructure(RH);;
WH := EnumerateReducedWords(RH,6,6);;
RedCoxElt := Filtered(WH, x -> ReducedWord(R,x) = CoxElt);;
Length(RedCoxElt); #16