> < ^ Date: Wed, 20 Sep 1995 08:38:00 +0100 (WET)
> < ^ From: Heiko Theissen <heiko.theissen@math.rwth-aachen.de >
^ Subject: Re: Problem with RepresentativeOperation

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]