Daniel Ruberman writes in his e-mail message of 1993/04/21
I am somewhat confused by the output from the AbelianInvariants function,
as applied to a finitely generated abelian group. I am using GAP 3.2
with upgrades 1 and 2, on a DEC Ultrix workstation, if it matters. In the
example below, I hoped to get the output [0 0], corresponding to the fact
that the abelianization of the free group on two letters ("a" and "b" below)
is Z+Z. Have I misused the function or misinterpreted the output?gap> a:=AbstractGenerator("a");;
gap> b:=AbstractGenerator("b");
gap> G:=Group(a,b);;
gap> G.relators:=[];;
gap> H:=CommutatorFactorGroup(G);;
gap> AbelianInvariants(H);
[ 0 ]
No, this is a genuine bug. If the number of relators of the commutator
factor group is less than the number of generators, 'AbelianInvariants'
will drop infinite components. Now the commutator factor group of a
group on $n$ generators has at least $n(n-1)/2$ relators (namely the
commutators), so the problem can only occur for the free group on 2
generators.
BTW, 'AbelianInvariants' for finitely presented groups has two more
problems.
It gives an error when applied to the free group on one generator.
It returns a list $l$ such that $h = Z/l[1]Z * Z/l[2]Z * Z/l[3]Z ... $,
but the elements are such that $l[1] | l[2] | l[3] ... $ (this is usually
called the Smith normal form, or elementary divisors). On the other hand
the description of 'AbelianInvariants' states that the $l[i]$ shall all
be prime powers (this is usually called primary decomposition). It is of
course easy to convert between those two representations.
All three problems shall be fixed in the next upgrade. Then it will also
be allowed to apply 'AbelianInvariants' to arbitrary groups, not just
abelian ones (allowing one to bypass the computation of the commutator
factor group, which can be costly for finitely presented groups with many
generators).
Martin.
-- .- .-. - .. -. .-.. --- ...- . ... .- -. -. .. -.- .- Martin Sch"onert, Martin.Schoenert@Math.RWTH-Aachen.DE, +49 241 804551 Lehrstuhl D f"ur Mathematik, Templergraben 64, RWTH, D 51 Aachen, Germany