Skip to first unread message

May 4, 2016, 8:28:28 AM5/4/16

to sage-support

The method "word_problem" for a permutation group element can be found at

http://doc.sagemath.org/html/en/reference/groups/sage/groups/perm_gps/permgroup_element.html#sage.groups.perm_gps.permgroup_element.PermutationGroupElement.word_problem

But if the permutation group G is finite, I wonder whether I can also obtain a shortest word of an element w in G that does not use the inverses? This is, is there a way to get a word in M(G) = < g1, ... gm >_{monoid} as a monoid (of course M(G) = G as sets for G finite)?

If this is not yet anywhere in Sage, is there maybe a function in gap that does provide that, which I could wrap?

One simple example would be:

sage: pi

(1,12)(2,24)(3,19)(4,22)(5,17)(6,20)(7,23)(8,9)(10,21)(11,13)(14,18)(15,16)

sage: G.gens()

[(1,3,9)(2,4,7)(5,10,18)(6,11,16)(8,12,19)(13,15,20)(14,17,21)(22,23,24),

(1,5,13)(2,6,10)(3,7,14)(4,8,15)(9,16,22)(11,12,17)(18,19,23)(20,21,24)]

sage: pi.word_problem(G.gens(),False)[0]

'x1*x2^-1*x1^-2*x2^-1'

sage: pi.not_existing_word_problem_method_as_monoid(G.gens())

'x2*x1*x1*x2*x1*x1'

Thanks! Christian

http://doc.sagemath.org/html/en/reference/groups/sage/groups/perm_gps/permgroup_element.html#sage.groups.perm_gps.permgroup_element.PermutationGroupElement.word_problem

But if the permutation group G is finite, I wonder whether I can also obtain a shortest word of an element w in G that does not use the inverses? This is, is there a way to get a word in M(G) = < g1, ... gm >_{monoid} as a monoid (of course M(G) = G as sets for G finite)?

If this is not yet anywhere in Sage, is there maybe a function in gap that does provide that, which I could wrap?

One simple example would be:

sage: pi

(1,12)(2,24)(3,19)(4,22)(5,17)(6,20)(7,23)(8,9)(10,21)(11,13)(14,18)(15,16)

sage: G.gens()

[(1,3,9)(2,4,7)(5,10,18)(6,11,16)(8,12,19)(13,15,20)(14,17,21)(22,23,24),

(1,5,13)(2,6,10)(3,7,14)(4,8,15)(9,16,22)(11,12,17)(18,19,23)(20,21,24)]

sage: pi.word_problem(G.gens(),False)[0]

'x1*x2^-1*x1^-2*x2^-1'

sage: pi.not_existing_word_problem_method_as_monoid(G.gens())

'x2*x1*x1*x2*x1*x1'

Thanks! Christian

Reply all

Reply to author

Forward

0 new messages

Search

Clear search

Close search

Google apps

Main menu