Ask Your Question

Finitely presented group simplification

asked 2019-08-28 12:25:45 +0200

danieleC gravatar image

updated 2019-08-29 18:30:36 +0200

FrédéricC gravatar image

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 flag offensive close merge delete

2 Answers

Sort by » oldest newest most voted

answered 2019-08-28 20:01:10 +0200

rburing gravatar image

updated 2019-08-28 20:11:14 +0200

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()

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)

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.

edit flag offensive delete link more


Sorry for the late reply, it seems like your answer works perfectly, thanks!!

danieleC gravatar imagedanieleC ( 2019-09-07 13:42:37 +0200 )edit

answered 2019-08-28 13:15:56 +0200

tmonteil gravatar image

updated 2019-08-28 13:17:47 +0200

Note that in your example i have:

sage: H.cardinality()

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

edit flag offensive delete link 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>

danieleC gravatar imagedanieleC ( 2019-08-28 17:26:11 +0200 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower


Asked: 2019-08-28 12:25:45 +0200

Seen: 622 times

Last updated: Aug 28 '19