> < ^ From:

> ^ Subject:

Dear Forum,

In his message, Ottokar Kulendik intended to write (but some technical error

dropped the content):

Hello forum,

I think I have discovered a bug in the function 'SubdirectProduct()': the

call of 'Projection()' fails like in the following example:# example from the GAP manual entry 'Subdirect Product' # computing a subdirect product gap> s3 := Group( (1,2,3), (1,2) );; gap> c3 := Subgroup( s3, [ (1,2,3) ] );; gap> x1 := Operation( s3, Cosets( s3, c3 ), OnRight );; gap> h1 := OperationHomomorphism( s3, x1 );; gap> d8 := Group( (1,2,3,4), (2,4) );; gap> c4 := Subgroup( d8, [ (1,2,3,4) ] );; gap> x2 := Operation( d8, Cosets( d8, c4 ), OnRight );; gap> h2 := OperationHomomorphism( d8, x2 );; gap> s := SubdirectProduct( s3, d8, h1, h2 ); Group( (1,2,3), (1,2)(5,7), (4,5,6,7) ) # now trying to use a projection on an arbitrary element of s gap> x := Random(s); (1,3)(4,6) gap> projection := Projection(s, s3, 1); Projection( Group( (1,2,3), (1,2)(5,7), (4,5,6,7) ), Group( (1,2,3), (1,2) ), 1 ) gap> x in projection.source; true gap> x^projection; Error, Record: element 'news' must have an assigned value at img := RestrictedPerm( elm, prj.source.news[prj.component] ) ^ (prj.source.perms[prj.component] ^ (-1 * 1)) ... in rgt.operations.ImageElm( rgt, lft ) called from <rec1> ^ <rec2> called from main loop brk>I am a new GAP user and reader of the forum, so I don't know whether this is

an already known bug.

No, it is not known, but it is a bug, introduced because the subdirect

product is again a permutation group and tries to be clever by using the

projection routines also used for direct products of permutation groups.

However, SudirectProduct forgets to copy some necessary components:

Is it okay to copy the entries 'projection.source.news'

and 'projection.source.perms' from the direct product projection?

Exactly this is needed. This is fixed in GAP 3.4.

Ottokar Kulendik

Sorry for the inconvenience,

Alexander Hulpke

> < [top]