> < ^ From:

^ Subject:

Dear GAP forum,

Chris Wensley has reported an error which occurs when one composes two

permutation group homomorphisms one of which has trivial source. The

reason for this bug is the same as the one explained in the answer to

Mitchell Trott, see below:

[excerpt from message that appeared in the GAP-forum earlier this year]

... This error occurs when the inverse homomorphism of a homomorphism

to the trivial group is constructed. Mitchell Trott constructed

G := Group( (1,2) );

hom := GroupHomomorphismByImages( G,G,G.generators,[G.identity] );

after which 'hom.generators' is '[ (1,2) ]' and 'hom.genimages' is '[

() ]'. Now Mitchell Trott calculated

PreImagesRepresentative( hom, () );

which GAP translates into

ImagesRepresentative( InverseMapping( hom ), () );

Here,

inv := InverseMapping( hom );

is constructed by interchanging source and range as well as generators

and genimages, i.e., 'inv.generators' is '[ () ]' and 'inv.genimages'

is '[ (1,2) ]'. To find an 'ImagesRepresentative' under a permutation

group homomorphism like 'inv', GAP calculates a stabiliser chain based

on 'inv.generators'. Since these generate the trivial group, an empty

stabiliser chain is constructed. But when 'ImagesRepresentative' steps

down the stabiliser chain of 'inv', it uses the test

while stb.generators <> [ ] do ...

to determine the end of the chain, and since 'inv.generators' is '[ ()

]', not '[ ]', the while-loop is executed although no stabiliser chain

is present. This leads to the error.

[end of excerpt]

This bug has in the meantime been fixed and the fix will be released

with the next patch. The fix was so complicated, however, that we

cannot give a simple few-lines correction here. The only way of

getting around this current bug seems to be the insertion of the

``missing fields'' that Chris Wensley has proposed.

(In case you are interested: There are good reasons for not storing

trivial orbits in a stabiliser chain. In our fix of the problem we

have introduced a different method of storing trivial images, as they

appear for the inclusion map.)

Sorry for any inconvenience,

Heiko Thei{\ss}en

> < [top]