In a letter to gap-trouble, Leonard Soicher writes:
There appears to be an inconsistency with the AbelianInvariants function:gap> AbelianInvariants(CyclicGroup(6)); [ 2, 3 ] gap> F:=FreeGroup(1);; gap> AbelianInvariants(F/[(F.1)^6]); [ 6 ] gap> quit;
(The result of the second application of the function contradicts the
GAP manual.) Please explain.
We are grateful to Leonard for alerting us to this problem. There is, in
fact, an inconsistency. The abelian invariants should always be provided
in form of prime powers as stated in the manual, but for certain groups
the function simply calls the function ElementaryDivisorsMat and hence
returns them in form of elementary divisors. We will of course fix this
in the next patch or release.
However, as it is a simple task to transform the elementary divisors into
the corresponding prime powers and vice versa, we hope that we can live
with the current state until then.