Fix PQuotient error for large groups.
Closes #5809
Text for release notes
Fix PQuotient error for large groups: If logord is too small, we return fail or error depending on option noninteractive.
@FriedrichRober last call for GAP 4.14 ...
Hi, I will try to clean up in time, but can only start working on this on Monday.
@fingolfin @hulpke, I adjusted the documentation of the method. Since I am not an expert of this implementation, I would really appreciate if someone can proof-read this.
As far as I understand, the current implementation throws an error/fail if the order of any p-group during the computation exceeds p^logord. This also includes the covers (which I guess they call intermediate p-groups in the original doc). This means that a p-quotient in the series might not be found, even if its order does not exceed p^logord, since the order of the cover of the p-quotient may exceed p^logord. However, for me and my package LINS, I am only interested in the class c=1 central p-quotient, and this seems to be a special case handled by the method AbelianPQuotient. Here it seems that the class 1 p-quotient is always found, if its order does not exceed p^logord. The next p-quotients are then handled by DefineNewGenerators, which I guess need to construct these covers and thus may return fail even if the order does not exceed p^logord.
Dear @FriedrichRober this got lost in the shuffle, partially because it is marked as a draft. Besides waiting for review feedback (I just gave some) are there other reasons it is marked as draft?
If you are "only" interested in the maximal abelian $p$-quotient for a given $p$, then independently of this PR perhaps we could/should also add a method for that; or you could write your own, which does not use PQuotient. Instead, it could call MaximalAbelianQuotient, then compute a maximal $p'$-subgroup in there, lift it back, and voila you have the kernel of the maximal abelian $p$-quotient.