> < ^ Date: Fri, 20 Dec 2002 12:58:41 +0000
> < ^ From: Steve Linton <sal@dcs.st-and.ac.uk >
^ Subject: Bugfix 4 for GAP 4.3

Dear Forum,

This is to announce bugfix number 4 for GAP 4.3. The priority of this fix
is high.

You should not apply this fix to any version of GAP before GAP 4.3. (If you
run such an old version, please update to GAP 4.3 (and this bugfix) as
release 4.3 corrects many problems.)
GAP Bugfixes now are comprehensive. If you forgot to install prior bugfixes,
you do only need to install this, and no prior ones.

Please note that one of the changes made in this bugfix affects the
interface used by two packages, namely AutPGrp and ANUPQ. If you have
either of these packages installed then you will need to also upgrade
these packages. A mechanism has been provided with the bugfix to
detect out-dated packages, prevent their being autoloaded and inform you
of where to find the latest version. More details about the new
versions of the AutPGrp and ANUPQ packages will follow in subsequent
announcements to the forum.

This fix corrects:

1. A problem with a homomorphism from a free group in the trivial
permutation group.
2. A problem with the multiplication of rationals and elements in
large prime fields.
3. A problem with composing a homomorphism from an fp group with another
homomorphism (images may be wrong).
4. A problem with attempting to create univariate polynomials of very
high degree.
5. A problem with output going to *errout* incorrectly after a syntax error
6. An error in the function ReducedSCTable.
7. An error in computing the Rees Matrix semigroup.
8. A compatibility problem with earlier versions of gap in semigroup
and monoid rewriting systems.
9. An error in the comparison routine for univariate rational functions.
10. The behaviour of PQuotient() when an attempt is made to compute a
p-quotient with more generators than the underlying data structure
was initialised with.
11. A problem with computing `BasisVectors' for a basis of an algebraic
field extension.
12. A problem with the definition of `IsRowVector' (which previously
returned `true' also for matrices).
13. A problem with `BaumClausenInfo'.
14. A problem with `IsRowModule' for infinite dimensional vector spaces
(which are not row spaces).
15. A problem when calculating representations of a group in which class
arrangement in group and character table are not identical.
16. A problem with `Difference' with first argument a list that is not a set
and second argument an empty list.
17. The failure of Elements() to compute the elements of a pc group
with non-prime relative orders.
18. A wrong computation of single character values of Weyl groups of type B
and character tables of Weyl groups of type D. Furthermore, a much more
efficient function for computing all character values is provided.
19. Packages accidentally overwriting the setting of `InfoWarning'.
20. A missing method for `IsPolynomial' for univariate rational functions.
21. A problem in the on-line help which sometimes returned a blank entry for
a topic even though the topic was documented.
22. A problem in the help system where a tilde in a filename was replaced by
a blank.
23. A problem that prevented the documentation of some packages from
24. Three missing primitive groups of degree 441 were addded.

Errors 1, 2, 8, 10, 11, 13, 17, 20 may cause GAP to stop with an error message.
Errors 3, 4, 6, 7, 9, 12, 15, and 16 may lead to wrong results.
Error 18 gives obviously wrong results (e.g., non integer or rational values).
Error 14 will lead to an infinite loop.

Many thanks to Dima Pasechnik, Marco Costantini, Sergei Haller, Primoz
Moravec, Ignat Soroko, Scott Brown, Nathan Dunfield, Andrew Solomon, Vahid
Dabbaghianabdoly, Jan Draisma, Leonard Soicher, Luc Teirlinck and Itaru
Terada, Willem de Graaf and Thomas Breuer who reported problems.

The following errors were corrected in earlier bugfixes, which are
incorporated into this one:

Corrections from bugfix 1

1) A bug in the handling of Processes with empty input or output streams.
2) An error in the function for computing quotients of algebra modules.
3) An error in computing the strongly connected components of a binary
relation in which incorrect results can be returned.
4) A "no method found" error in OrbitStabilizerAlgorithm for infinite
5) Calculation of iterated automorphism groups might stop with an error message.
6) A segmentation fault when converting length 0 compressed vectors to
larger fields
7) The output of the internal pager (see 'Pager') is no longer copied to
log files.
8) Some memory is not freed up as soon as it could be, resulting in
over-use of memory and over-large saved workspaces
9) Saving and loading a workspace using a kernel containing a
statically loaded user module (most likely a compiled GAP file)
did not work.
10) Problems with EulerianFunction for certain types of groups

Corrections from bugfix 2

1) A segmentation fault when appending to a length 0 compressed vector
over GF2.
2) An error in the computation of inverses in quaternion algebras with
non-standard parameters.
3) The result of 'ProjectiveSymplecticGroup(n,q);'.
4) `GeneratorOfCyclicGroup' for a trivial pc group.
5) A problem in backtrack routines using `Suborbits' if the group has
fixed points in the range [1..max(Omega)].
6) A problem with `CharacterTableDirectProduct' if exactly one argument
is a Brauer table.
7) Problems with `IntScalarProduct' and `NonnegIntScalarProducts'
if the third argument is not a plain list (this situation does not occur
in GAP library functions).
8) A Problem with GQuotient
9) A problem with the linear algebra methods for Lie algebra cohomology.
10) A Problem with requesting transitive groups of degree including 1
11) A Problem with inverting lists of compressed vectors over fields
of order greater than 2.
12) An error in computing whether an element is in a Green's D equivalence
class or not.
13) A missing method for `MovedPoints(<perm>)'
14) The method IsGreensLessThanOrEqual should work for Green's D classes for
finite groups.
15) The method GroupHClassOfGreensDClass was not implemented and is required
for the Rees Matrix methods.
16) The methods AssociatedReesMatrixSemigroupOfDClass, IsZeroSimpleSemigroup,
IsomorphismReesMatrixSemigroup, and SandwichMatrixOfReesZeroMatrixSemigroup
all create Greens classes using obsolete methods which for some semigroups
leads to infinite recursion or causes GAP to stop with an error message.
17) A problem with `CentralizerModulo' for permutation groups.
18) A wrong name for PGL(2,49) in the primitive groups library of degree 50
20) Missing `Representative' methods for certain trivial groups and
trivial spaces.
21) A missing setting of `IndicesNormalSteps'

Corrections from bugfix 3

1) An error in IdGroup that mistakenly was not corrected in Bugfix 2.
2) An inconsistent setting of IndicesNormalSteps.
3) A problem with the inversion routine for quaternions.

Installing the bugfix.

Load the zoo archive `fix4r3n4.zoo' from the bugfixes web page
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 `grp' directories) using `unzoo -x
fix4r3n4.zoo'. `unzoo' may ask you for permissions to overwrite files,
answer this with Y)es or A)ll. This will replace the erroneous files by
fixed versions.

Versions of this archive in zip and tar.gz and tar.bz2 formats are
also available. Apart from using the appropriate unpacking software
for your chosen archive type, they are installed in exactly the same way.

(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 the kernel after
unbpacking the fix. The safest way to do this is to execute the three

make clean

in the directory in which you unpacked the fix.

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

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

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 `description4' afterwards.

After installing the bugfix you can test whether the bugfix has been applied
correctly by starting GAP from the `gap4r3' directory and issuing

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

(The output should be like this if the bugfixes have been installed
correctly. The number of GAP4stones may vary according to your system. If
your screen width is not 80 characters you must start GAP with the command
line option -x 80 for reading in test files.)

Running this test is not a necessary part of installing a bug fix, but only
serves as a confirmation that everything went well. The test might run for
a long time and GAP will not output information while running. Note that it
is not possible to run the test twice without restarting GAP and that an
interruption of the test with CTRL-C will produce lots of (harmless) error

Steve Linton
December 2002

Steve Linton	School of Computer Science  &
      Centre for Interdisciplinary Research in Computational Algebra
	     University of St Andrews 	 Tel   +44 (1334) 463269
http://www-theory.dcs.st-and.ac.uk/~sal	 Fax   +44 (1334) 463278   

> < [top]