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