Dear GAP forum readers,
Peter M"uller has pointed out an error that occurs in GAP3r4p2 if one
tries to calculate a representative for a *symmetric* group acting on
tuples of permutations (by conjugation). The reason for this error is:
1. A symmetric group constructed by a command like
S := SymmetricGroup( 5 );
has the operations record `SymmetricPermGroupOps'. Therefore,
`RepresentativeOperation( S, t1, t2, OnTuples )' dispatches to
`SymmetricPermGroupOps.RepresentativeOperation' and this function uses
the record component `S.degree'.
2. However, for operation on tuples of permutations,
`SymmetricPermGroupOps.RepresentativeOperation' cannot solve the
problem directly but delegates its work to the more general function
`PermGroupOps.RepresentativeOperation', which determines the
representative by repeatedly calculating (and multiplying) elements
which map the <n>th element of t1 to the <n>th element of t2 and fix
the first <n-1> elements of t1. Starting with `T := S', a
representative for the <n>th element is determined by a call to
S.operations.RepresentativeOperation( T, t1[n], ... );
and then `T' is replaced by its stabilizer by
T := S.operations.Stabilizer( T, t1[n], OnPoints );
after which the representative for the next (<n+1>th) element is
3. The problem occurs if `S' is a symmetric group, because the
stabilizer `T' will no longer have the `degree' component, and so the
next call to `S.operations.RepresentativeOperation', i.e., to
`SymmetricPermGroupOps.RepresentativeOperation', causes the error.
This error will be fixed in the next version. To fix it yourself, I
suggest that you replace
`G.operations' by `S.operations'
in lines 1326 and 1330 in the library file `permoper.g'.
Sorry for any inconvenience,