[GAP Forum] Order of a group presentation

Hulpke,Alexander Alexander.Hulpke at colostate.edu
Mon Sep 6 00:25:34 BST 2021


Dear Forum,

Nick Gill asked:

> I'm doing some coding where I process a long list of group presentations. For each presentation I'd like to calculate the order.
> 
> My problem is that I'm not 100% sure if all of the presentations yield finite groups. I'd like to ask GAP to first check to see if the group has order less than a 1000 (say) and, if not, then skip this presentation and move onto the next one.

Derek Holt already explained very nicely how one cannot expect a general answer of a lower bound, but can only hope coset enumeration to finish.

So this is just a pointer how to do such enumeration attempts successfully in GAP without too many contortions. It uses an utility function that is part of the mechanism used by `Size`: (`Size` will try to find a cyclic subgroup of finite index and rewrite the presentation to this subgroup, then calculating the order of the subgroup.)

On your finitely presented group G call

FinIndexCyclicSubgroupGenerator(G,m);

where m is the maximal number of cosets you want to allow GAP to define. Unless your presentations are really bad, or your computer is ancient, setting m in the magnitude 10^5-10^7 should be no problem, but your mileage may vary. 

If the call returns `fail`, enumerations did not finish (and `Size` is extremely unlikely to finish with this number of cosets permitted).

Otherwise the function returns a list of length 2, whose first entry is an element of G. A coset enumeration by the cyclic subgroup generated by this element was successful (and thus it is basically guaranteed that a subsequent call to `Size` will also finish if you allow for the same number of cosets.

All the best,

 Alexander Hulpke





More information about the Forum mailing list