5

I have a permutation group given in terms of its generators, such as

G := Group((2, 3), (1, 4), (1, 3)(2, 4));

I can iterate through the group and get all elements in cycle form. How can I get each element in terms of the generators? I imagine GAP has these expressions once it generates each element or not?

Fernando
  • 314

1 Answers1

4

Section 39.5 of the GAP manual, "Expressing Elements as Words in Generators":

http://www.gap-system.org/Manuals/doc/ref/chap39.html#X7E19F92284F6684E

describes the two ways how this can be done: Factorization guarantees a word of minimum length (but is more memory/time intensive). PreImagesRepresentative, when applied to EpimorphismFromFreeGroup, is faster but does not attempt to obtain minimum length.

ahulpke
  • 20,399
  • Your solution is interesting, but since I create the group given generators, for GAP to compute all group elements it has to use the generators right? So in a sense I am recomputing stuff or not? – Fernando Oct 10 '16 at 18:29
  • If you want a word expression for all elements run through the group elements and use Factorization -- Memory will become a problem far before runtime, even though you are doing some recomputation. – ahulpke Oct 10 '16 at 19:44
  • Doing that makes me want to die, but all right. :) – Fernando Oct 10 '16 at 21:56