Finitely presented group simplification

Hi! I have a bunch of finitely presented groups, with many generators and relations. I know that all of these are in fact cyclic groups, but many times using the "simplified()" function, I get a simpler presentation with 2 generators, rather than only one. The following is one example:

 G.<x0,x5> = FreeGroup()
H  =G/[(x5^-1*x0)^2*x5^-3, (x0^-1*x5^-1)^2*x0^-2*x5*x0^-1]


H is in fact just Z/27Z. Is there another way to simplify these presentations, in order to get a minimal one? The problem here is that I do not only need to identify the specific group, but also to recover the image of the previous generators in the simplified one (as done by the simplification_isomorphism() function).

edit retag close merge delete

Sort by » oldest newest most voted

The first example you gave is not cyclic, as seen e.g. by

sage: H.structure_description()
'Q8 : C27'


The meaning of this output can be found in GAP's manual for StructureDescription.

The second example (in your comment to tmonteil) is cyclic:

sage: G.<x0,x5> = FreeGroup()
sage: H = G/[x5*x0*x5*x0^-1*x5^-1*x0^-1, x0^-1*x5^-1*x0^-1*(x0^-1*x5^-3)^3*x0^-1*x5^-1]
sage: H.structure_description()
'C17'


In general, to find out if an element is a generator of a cyclic group you can take powers of it and see if you get the whole group. The difficulty here is that you need to put elements in a kind of normal form to compare them. Here you can do it with a confluent rewriting system:

sage: k = H.rewriting_system()
sage: k.make_confluent()
sage: H_reps = set([k.reduce(h) for h in H])
sage: next((h for h in H if set([k.reduce(h^m) for m in range(len(H))]) == H_reps), None)
x0


This shows x0 is a generator; the relation is x0^17 == 1. (Note there is room for optimization of this code, e.g. in calculating the powers.)

I'm not a group theorist, but I would guess that for finite groups such a rewriting system always exists.

Note for cyclic groups of prime order, all non-identity elements are generators, and more generally in a cyclic group of order $n$, $\varphi(n)$ of the elements are generators.

more

( 2019-09-07 13:42:37 +0100 )edit

Note that in your example i have:

sage: H.cardinality()
216


Do you know by other means that H is isomorphic to Z/27Z ? Something might be buggy in Sage.

more

It might be that the previous example I gave was wrong (still unsure), but the following one has 17 elements (so, it's necessarily Z/17Z), but still it can't seem to be reducible. <x0, x5 | x5*x0*x5*x0^-1*x5^-1*x0^-1, x0^-1*x5^-1*x0^-1*(x0^-1*x5^-3)^3*x0^-1*x5^-1>

( 2019-08-28 17:26:11 +0100 )edit