> < ^ Date: Tue, 28 Jun 1994 13:16:00 +0200
> < ^ From: Alexander Hulpke <hulpke@math.colostate.edu >
> ^ Subject: Re: Bug in 'SubdirectProduct' when using the projection

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]