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
_______________________________________________ Forum mailing list Forum@gap-system.org https://mail.gap-system.org/mailman/listinfo/forum