> < ^ From:

> < ^ Subject:

FILE fix28lib.dif __ 1997/01/06 ____ GAP bugfixes __ Heiko Thei"sen ______

This file contains a bugfix for a serious problem in GAP 3.4.3.

You should apply this bugfix soon.

The problem is in `PermGroupOps.RepresentativeOperation', and it may

cause a computation to fail with a cryptic error message.

ACKNOWLEDGEMENT

We thank Peter F M"uller of the University of Florida for bringing this

bug to our attention in his GAP forum article of 4 Jan 1997 (article

1083).

VERSION

GAP/lib 3.4.3.0

PRIORITY

The problem is a serious problem, because it may cause a computation to

fail. Thus the bugfix has medium priority, and we recommend that you

apply it soon.

HOW TO APPLY

Go to the GAP directory (the directory with the `lib/' subdirectory),

name this file `fix28lib.dif', and issue the command:patch -p0 < fix28lib.difIf `patch' writes "I can't seem to find a patch in there" try `patch -v'.

If `patch -v' gives an error message or reports a version older than 2.1,

get 2.1 from `ftp://FTP.Math.RWTH-Aachen.DE/pub/gap/utils/patch2_1.zoo'.This fix changes only the library.

Thus you need not recompile the GAP kernel.

DESCRIPTION

`PermGroupOps.RepresentativeConjugationElements( G, d, e )' fails

if the group $G$ has a non-reduced base and signalsError, List Element: <list>[1] must have a value at

img[bpt] := lensh[OrbitLength( Group( g ), bpt )] ... in

G.operations.RepresentativeConjugationElements( G, d, e ) called from

arg[1].operations.RepresentativeOperation( arg[1], arg[2], arg[3], OnPoints

) called from

RepresentativeOperation( G, (1,2), (1,3) ) called from

main loopThe analogous problem in `Centralizer' does not lead to an error.

CORRECT BEHAVIOUR

gap> G := Group(()); Group( () ) gap> G.stabChain := StabChain(G,rec(base:=[3,4],reduced:=false));; gap> RepresentativeOperation(G,(1,2),(1,3)); false

COMMENT

`PermGroupOps.RepresentativeConjugationElements( G, d, e )' builds a list

which is indexed by cycle lengths of $d$ and contains for each cycle

length a union of cycles of that length. If $G$ is trivial, this list is

empty. Then for each base point $b$ of $G$, the list entry at position

``length of the $e$-cycle containing $b$'' is read. This causes the error

if $G$ is trivial but has a non-reduced base.Such non-reduced bases can appear in centralisers in permutation groups,

which are computed with a backtrack algorithm. `RepresentativeOperation'

uses an iterative method involving such centralisers when it computes an

element which conjugates a list of permutations onto another one.The analogous code in `Centralizer' is also changed with this patch,

although it causes no error.

DIFFS

Prereq: 3.21 --- lib/permbckt.g Thu Dec 21 15:30:28 1995 +++ lib/permbckt.g Tue Jan 7 09:05:55 1997 @@ -3,14 +3,17 @@ #A permbckt.g GAP library Udo Polis #A & Martin Schoenert ## -#A @(#)$Id: 2.html,v 1.2 2004/04/21 15:06:57 felsch Exp $ +#A @(#)$Id: 2.html,v 1.2 2004/04/21 15:06:57 felsch Exp $ ## #Y Copyright 1990-1992, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany ## ## This file contains the backtrack functions for permutation groups. ## #H $Log: 2.html,v $ #H Revision 1.2 2004/04/21 15:06:57 felsch #H Corrected links in the Forum Archive pages. VF #H #H Revision 1.1.1.1 2004/04/20 13:39:39 felsch #H The final GAP-Forum archive until 2003. #H #H Revision 1.2 2003/06/12 17:28:26 gap #H Address updates by JN. AH #H #H Revision 1.1 1997/08/15 11:19:43 gap #H New forum setup. AH #H #H Revision 1.1 1997/04/06 10:39:44 gap #H Added forum archives (ahulpke) #H -#H Revision 3.21 1994/06/20 11:29:09 ahulpke +#H Revision 3.21.1.1 1997/01/06 13:41:46 htheisse +#H avoided non-redundant bases in centraliser/element conjugacy +#H +#H Revision 3.21 1994/06/20 11:29:09 ahulpke #H Transfer of .stabChainOps.random #H #H Revision 3.20 1992/07/07 12:43:17 martin @@ -519,8 +522,8 @@ # compute a stabchain for $G$. # we take a base that has as often as possible $\beta_i^g = \beta_{i+1}$. - MakeStabChain( G, Concatenation(orbsg) ); - base := G.operations.Base( G ); + base := G.operations.Base( StabChain( G, + rec( base := Concatenation( orbsg ) ) ) ); # for each length make a set of points in orbits of that length under $h$ lensh := []; @@ -990,8 +993,8 @@ # compute a stabchain for $G$. # we take a base that has as often as possible $\beta_i^g = \beta_{i+1}$. - MakeStabChain( G, Concatenation(orbsH) ); - base := G.operations.Base( G ); + base := G.operations.Base( StabChain( G, + rec( base := Concatenation( orbsH ) ) ) ); # for each length make a set of points in orbits of that length under $g$ lensH := []; END OF fix28lib.dif ________________________________________________________

> < [top]