A little example of using strong generators: (1) -> s5 := symmetricGroup(5)$PGE
(1) <(1 2 3 4 5),(1 2)> Type: PermutationGroup(Integer) (2) -> initializeGroupForWordProblem(s5) Type: Void (3) -> strongGenerators(s5) (3) [(4 5),(3 4 5),(2 5 3),(1 2)] Type: List(Permutation(Integer)) (4) -> base(s5) (4) [1,2,3,4] Type: List(Integer) So we have G = G_0 = <(1,2), G_1>, G_1 = <(2,5,3), G_2>, G_2 = <(3,4,5), G_3>, G_3 = <(4,5)>. Writing a = (1,2), b = (2,5,3), c = (3,4,5), d = (4,5) we get the following relations: for G_3: base point 4, orbit is {4, 5}, single generator d and single relation d^2 for G_2: base point is 3, orbit is {3, 4, 5}, single generator c produces the orbit: 3 = c^0(3), 4 = c(3), 5 = c^2(3), c^3(3) = 3 and we get relation c^3 dc(3) = 5 so dc = c^2d. We need no extra relation for product of d and c^2 as this follows from relation for dc: dc^2 = (dc)c = c^2dc = c^2c^2d = cd for G_1: base point 2, orbit is {2, 3, 4, 5} we need two generators to produce the orbit: b(2) = 5, b^2(2) = 3, db(2) = 4. We get relation b^3, cb(2) = 3 so cb = b^2dcd, cb^2(2) = 4 so cb^2 = dbdc, since d^2 = e we have d^2b = b and need no extra relation for product of d and db, cdb(2) = 5 so cdb = bd, bdb(2) = 4 so bdb = dbc for G_0: base point is 1, orbit is {1, 2, 3, 4, 5}, we need 3 generators to get orbit: a(1) = 2, ba(1) = 5, b^2a(1) = 3, dba(1) = 4. We get relation a^2, aba(1) = 5 so aba = ba*dcb, ab^2a(1) = 3, so ab^2a = b^2acdbc, adba(1) = 4 so adba = dba*dcb, for product of b and a we need no extra relation as ba is already canonical, similarly for product of b and ba, for product of b and b^2a we need no extra relation because b^3a = a by relation b^3, bdba(1) = 4 so bdba = dbac. In similar way we get relations ca = ac, cba = b^2adcd, cb^2a = dbadc, cdba = bad, da = ad, db^2a = b^2acd, (for dba we need no extra relation because it is canonical, for d(dba) from d^2 = e we get ddba = ba). Together we get generators a, b, c, d and relations: d^2 = e, c^3 = e, dc = c^2d, b^3 = e, cb = b^2dcd, cb^2 = dbdc, bdb = dbc, a^2 = e, aba = badcb, ab^2a = b^2acdbc, adba = dbadcb, bdba = dbac, ca = ac, cba = b^2adcd, cb^2a = dbadc, cdba = bad, da = ad, db^2a = b^2acd. Note: I used wordInStrongGenerators as a helper, but part of calculation is by hand so there may be mistakes. However, it should be clear that method scales to much larger groups and already in this case presentation is smaller than obtained by naive algorithm. I skip expressing relations in terms of original generators, but for this we would get 8 extra relations so this still will have smaller number of relations than naive algorithm gives (admitedly, the relations would be quite long). -- Waldek Hebisch -- You received this message because you are subscribed to the Google Groups "FriCAS - computer algebra system" group. To unsubscribe from this group and stop receiving emails from it, send an email to fricas-devel+unsubscr...@googlegroups.com. To post to this group, send email to fricas-devel@googlegroups.com. Visit this group at https://groups.google.com/group/fricas-devel. For more options, visit https://groups.google.com/d/optout.