> < ^ Date: Tue, 02 Nov 1999 18:03:16 GMT
> < ^ From: Willem de Graaf <degraaf@math.uu.nl >
< ^ Subject: Bugfix #6

Dear Forum,

This is to announce bugfix number 6 for GAP 4.1. The priority of this fix
is high.

We also announce that there is a new version of 'unzoo.c' available from the
GAP webpages and ftp directory. It fixes a problem with the dates of the
extracted files on DEC alpha systems. It is *not* part of the bugfix.

This fix fixes

1) a problem with 'AllPrimitiveGroups',
2) some bugs and inefficiencies in computation of semigroup congruences,
3) the generic 'SylowSubgroupOp' method,
4) a problem with 'OnIndeterminates',
5) 'Domain' when called with 2 arguments,
6) several minor problems with rewriting systems for semigroups,
7) a 64bit MIPS bug,
8) a problem with computing intersections of subgroups in pc-groups,
9) a problem with adding empty vectors,
10) a problem with `configure' on certain DEC-alpha (alphaev6) machines.

Errors 4) and 8) might produce wrong results. Due to error 3) GAP may
produce no result at all. Examples are included at the end of this mail.

We note that error 1) was in fact introduced by bugfix #4.
Error 4) was in the release of GAP4.1 and also in GAP4beta5.
Error 8) was contained in the release of GAP4.1, but not in the beta versions.

Many thanks to:
Leonard Soicher for reporting error 1),
Robert Morse for reporting error 2),
Toshio Sumi for reporting error 3),
Ines Abdeljaouad for reporting error 4),
Robert Morse for finding and fixing error 5),
Isabel Araujo for finding and fixing error 6),
Giovanni Cutolo for reporting error 8),
Burkhard H"ofling for reporting error 9),
Max Neunh"offer for fixing error 10).

Apart from fixed bugs, the new Macintosh binaries contain the following:

1) a fix which should improve stability, and
2) a few more menu shortcut keys.

Many thanks to Burkhard H"ofling for compiling the new Macintosh binaries.

Before applying this fix it is necessary to have installed fixes 1, 2, 4, and
5 previously.

You should not apply this fix to any version of GAP3.

Load the zoo archive 'fix4r1n6.zoo' from the bugfixes web page
http://www-gap.dcs.st-and.ac.uk/~gap/Info4/bugfixes.html
Alternatively you can find this file in the 'bugfixes' directory of the
GAP4 ftp distribution.

Unpack the file in the home directory of your GAP distribution (the
directory containing the 'lib' and 'src' directories) using 'unzoo -x
fix4r1n6.zoo'. 'unzoo' may ask you for permissions to overwrite files,
answer this with Y)es or A)ll. This will replace the erroneous file by
fixed version.

(On a PC or a Mac you will have to copy 'unzoo' in the same directory and
enter the argument line after the call to 'unzoo'.)
Make sure you have write permissions when applying the fix.

This fix changes the kernel. You have to recompile by calling 'make' in the
directory in which you unpacked the fix.

Windows users can find a new binary in the file wbin4r1n6.zoo in the
'bugfixes' directory: Extract this archive in the same place as the fix
archive to get a new gapw95.exe file.

Macintosh users should download the file 'bin4r1n6-PPC.sit' (for PPC
machines) or 'bin4r1n6-68k.sit' (for 68k machines), from the 'bugfixes'
directory.

If you get one of these precompiled binaries you do not need to get any
precompiled binaries that would have come with earlier fixes (these old
binaries are obsolete now). Similarly, if you cannot find these binaries but
have further, newer, fixes to install check whether new binaries with these
fixes did not make the binaries of this fix obsolete.

You can remove the file 'description6' afterwards.

After installing the bugfix (and recompiling) you can test whether
the bugfix has been applied correctly by issuing

gap> ReadTest("tst/bugfix.tst");
+ bugfixes test
+ GAP4stones: 835
true

(The output should be like this if the bugfixes have been installed
correctly. The number of GAP4stones may vary according to your system.)

Willem de Graaf, 2-Nov-99

###########################################################################
##  
##        Examples for the bugs, no's 3, 4, and 8.
##
## Bug 3) occurs with the following input:

gap> DicyclicGroup := function(n)
>      local F2,P;
>      F2 := FreeGroup( "a", "b" );
>      P:= F2 / [ F2.1^(2*n), F2.2^2*F2.1^(-n), F2.1*F2.2*F2.1*F2.2^(-1)];
>      return P;
> end;
function( n ) ... end
gap> G:=DicyclicGroup(15);
<fp group on the generators [ a, b ]>
gap>  SylowSubgroup(G,2);

# GAP loops forever....

##
## Bug 4) would effect practically any computation involving
## `OnIndeterminates'. For example, it occurs with the following input:
##
##

gap> x5:= Indeterminate( Rationals, 5 );;
gap> x6:= Indeterminate( Rationals, 6 );;
gap> x7:= Indeterminate( Rationals, 7 );;
gap>  a:=x5^2+x5*x6+x5*x7+x6^2+x6*x7+x7^2;;
gap> b := OnIndeterminates(a,());;
gap> a=b;
false   # This should be `true'.

##
## Bug 8) affects intersection computations between subgroups of a PC group.
## For example it ocurs with the following input:
##

gap> g:=SmallGroup(2^8, 6892);
<pc group of size 256 with 8 generators>
gap> gens:=GeneratorsOfGroup(g);
[ f1, f2, f3, f4, f5, f6, f7, f8 ]
gap> a1:=gens[1];; a2:=gens[2];; a3:=gens[3];; a4:=gens[4];; 
gap> a5:=gens[5];; a6:=gens[6];; a7:=gens[7];; a8:=gens[8];;
gap> h:=Subgroup(g, [a1,a2*a6,a4]);
Group([ f1, f2*f6, f4 ])
gap> h3:=h^a3;
Group([ f1*f6, f2*f6*f7, f4, f5, f7, f8 ])
gap> int:=Intersection(h,h3);
Group([ f1*f2*f7, f4, f5, f7, f8 ])

# This should be `Group([ f2*f6*f7, f4, f5, f7, f8 ])'.

Miles-Receive-Header: reply


> < [top]