> < ^ From:

^ Subject:

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

autoloading.

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

groups.

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

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 `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

commands:

make clean

./configure

make

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'

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 `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

true

(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

messages.

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]