Charley Wrigth writes:
CW> I've run into a bug of some sort. Here's a log of what happened. CW> CW> gap> A := wreathPower(2,3); # = (2wr2)wr2 CW> Group( h, n1_1, n1_2, n1_3, n2_1, n2_2, n2_3 ) CW> gap> B := AgSubgroup(A,[A.4*A.5*A.6],true); CW> Subgroup( Group( h, n1_1, n1_2, n1_3, n2_1, n2_2, n2_3 ), [ n1_3*n2_1*n2_2 ] ) CW> gap> Size(B); CW> 2 CW> gap> c := A.4*A.5*A.6; CW> n1_3*n2_1*n2_2 CW> gap> c^2; CW> n2_2*n2_3 CW> gap> c in B; CW> true CW> gap> Elements(B); CW> [ IdAgWord, n1_3*n2_1*n2_2 ] CW> gap> c^2 in B; CW> false
This is not really a bug, but a feature. Consider the following:
gap> A := wreathPower(2,3); Group( h, n1_1, n1_2, n1_3, n2_1, n2_2, n2_3 ) gap> c := A.4*A.5*A.6; n1_3*n2_1*n2_2 gap> B := Subgroup( A, [c] ); Subgroup( Group( h, n1_1, n1_2, n1_3, n2_1, n2_2, n2_3 ), [n1_3*n2_1*n2_2] )gap> c in B;
truegap> Elements(B); [ IdAgWord, n2_2*n2_3, n1_3*n2_1*n2_3, n1_3*n2_1*n2_2 ] gap> c^2 in B; true
And now it works. So the "bug" must be in line "B := AgSubgroup(...);".
Indeed the function 'AgSubgroup' assumes that the second argument is either
an induced generating system or a canonical one. It does *not* check this
assumption, because the function is intented to be used in functions which
already know that they have computed an canonical generating system and want
to convert it to a subgroup structure. Checking the arguments would be a
waste of time in this case. 'Subgroup' is intented to be used by users and
function which compute just generating sets for a subgroup without assuming
that the generating set is a canonical one. So let us compute the canonical
generating system.
gap> Cgs(B); [ n1_3*n2_1*n2_3, n2_2*n2_3 ]
Now we can try again.
gap> A := wreathPower(2,3); Group( h, n1_1, n1_2, n1_3, n2_1, n2_2, n2_3 ) gap> c := A.4*A.5*A.6; n1_3*n2_1*n2_2 gap> c^2; n2_2*n2_3 gap> B := AgSubgroup( A, [c,c^2], true ); Subgroup( Group( h, n1_1, n1_2, n1_3, n2_1, n2_2, n2_3 ), [ n1_3*n2_1*n2_2, n2_2*n2_3 ] )gap> c in B;
truegap> Elements(B); [ IdAgWord, n2_2*n2_3, n1_3*n2_1*n2_3, n1_3*n2_1*n2_2 ] gap> c^2 in B; true
mfg (=with best regards)
Frank