1

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

unknown
  • 1,050
  • 1
    Run (loop) through all reduced words, evaluate in Coxeter group (e.g. MappedWord) and collects according to what they evaluate to. – ahulpke Sep 04 '22 at 00:36
  • Help for ReducedWord brings up two packages (kbmag and QuaGroup). Do I use one of these to loop through all reduced words or is there something in GAP itself? – unknown Sep 04 '22 at 00:46
  • No, you just write a double for loop.up to the length you want. – ahulpke Sep 04 '22 at 00:49
  • I don't think this will work. Maybe there's more than one definition for "reduced word". I edited the question to give the definition from the paper I'm reading. If I use MappedWord then $s_1 s_1$ would count a reduced word of length 2 for identity; but the paper's definition wouldn't count it that way. – unknown Sep 04 '22 at 02:13
  • OK, if you want not just freely reduced, but Coxeter reduced, add a test for reducedness for each word before processing it. – ahulpke Sep 04 '22 at 02:41
  • Maybe I'm a little dense...how do I test for Coxeter reduced? – unknown Sep 04 '22 at 03:12
  • You can use KBMAG to find a canonical reduced word for each group element (i.e. the least such word under the shortlex ordering). Then you can test an arbitrary word of the same length for equality in the group with this canonical word. This still involves searching through all freely reduced words of that length, so it will be impractical if the length is too long. If you can provide a specific example that you would like to solve, I can show you how to do it. – Derek Holt Sep 04 '22 at 08:08
  • @DerekHolt the paper uses type $A_3$ as an example (symmetric group on 4 elements); so that would be good to use since I can check the results. The Coxeter length is 6; so that's the maximum length. For example the paper gets 16 reduced words for the Coxeter element....Appreciate your offer to solve this example. – unknown Sep 04 '22 at 08:55
  • Please do not rely on pictures of text. – Shaun Sep 04 '22 at 11:18
  • 1
    Try Sage: https://doc.sagemath.org/html/en/reference/categories/sage/categories/coxeter_groups.html – JBL Sep 04 '22 at 14:14

1 Answers1

4

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
Derek Holt
  • 96,726
  • Thanks for the answer. I'm running into a SW issue. I'm getting an error message for A:=AutomaticStructure(R);; "Error, PrintTo: cannot open '/tmp/gaptempfile.8iPCht' for output..." probably because I'm running under windows...I'll try to look for a workaround – unknown Sep 04 '22 at 14:57
  • @unknown sorry about that, but I'm afraid I can't help because I implemented KBMAG in LInux, and I have no technical knowledge of Windows. – Derek Holt Sep 04 '22 at 15:43
  • That's ok. I have GAP under linux too but it looks like kbmag wasn't compiled and installed...I should be able to get around these SW nuisances eventually. I noticed a standalone version at your webpage http://homepages.warwick.ac.uk/~mareg/ . Is kbmag2 the same as what's in the GAP package? or is it the faster version? – unknown Sep 04 '22 at 16:23
  • No kbmag2 is the standalone version, which I don't recommend. The GAP package is an interface to the standalone, so there should be no substantial difference in speed. It's not difficult to install the GAP package under Linux (see here), so that's probably your best bet. – Derek Holt Sep 04 '22 at 18:11
  • 1
    I upgraded GAP tp 4.12.0 (released two weeks ago) and now the example works on Linux and Windows! Thanks again for your help. – unknown Sep 04 '22 at 19:37