> < ^ From:

^ Subject:

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

calculated.

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,

Heiko Thei{\ss}en

> < [top]