> < ^ Date: Wed, 22 Apr 1992 11:52:33 +0200
> < ^ From: Martin Schoenert <martin.schoenert@math.rwth-aachen.de >
< ^ Subject: Re: generating lots of groups

Steve Fisk writes in his e-mail message of 21-Apr-92

I wish to determine the size of many (3*12^4) groups. These groups
are given by generators (4 generators) and relations (16 relations).
It was very easy to program it, and I was surprised to see that all
the groups had order 2. I suspected an error, and found it in
Chapter 21: you can not change the generators of a group! I had
fixed one group and just kept changing its generators.

Changing the generators (or relators) of a group after any computation
has been performed with this group is not allowed. What probably happens
in this case is that after the first computation the group has the
component 'g.size' (with the value 2), and subsequent calls to 'Size'
will only return this value.

Steve Fisk continues

I do not see how to get around this problem, except by writing an AWK
program to write 3*12^4 gap programs, and execute them, but there
must be a better way.

I am not certain that I understand your problem fully. But the following
code defines a number of groups and computes the size of each. Does this
do what you want?

gap> sizes := [];
gap> for i  in [4..10]  do
>        g := FreeGroup( 2, "g" );
>        g.relators := [ g.1^2, g.2^2, (g.1*g.2)^i ];
>        Add( sizes, Size( g ) );
>    od;
gap> sizes;
[ 8, 10, 12, 14, 16, 18, 20 ]


Martin Sch"onert, Martin.Schoenert@Math.RWTH-Aachen.DE, +49 241 804551
Lehrstuhl D f"ur Mathematik, Templergraben 64, RWTH, D 51 Aachen, Germany

> < [top]