Dear Mr. and Mrs. Gap,
David Joyner recently asked:
A simple question: I have a fairly large group (size=10712468422656000)
which I want to understand a little better. (I have a wild guess that G
might be the semidirect product of A16 and C2^10, with C2^10 normal.)
Unfortunately, NormalSubgroups doesn't seem to work on it:gap> G:=Group(g[1]*g[2]^-1,g[2]*g[3]^-1); Group( ( 2,23,20,17, 8,10)( 3,24,30,28,16, 9)( 4,21,18, 7)( 5,22,19, 6) (11,12,25,26)(13,14,27,15), ( 1, 5,18,29,27,25)( 3, 6,16,28,14,24) ( 4,19,30,23)( 7,15,12,10)( 8,11,13, 9)(20,26,22,21) )Any suggestions on how to get around this? - David Joyner
Since I had recently been playing with something similar, I thought
I might spend a few minutes on this. It seems that David's group
is a semi-direct product of A15 acting on C2^14. I haven't really
thought about it, but it seems like this can not be A16 acting on C2^10.
A log of the calculation follows (It is very similar to the rubik's cube
calculation in the GAP readme file). As always, many thanks to the
GAP people for making all this fun possible!
--
Peter Blanchard e-mail: pblancha@vega.math.ualberta.ca
Dept. of Mathematical Sciences http://vega.math.ualberta.ca/~pblancha
University of Alberta "Your mountain is waiting.."--Dr. Suess
Here is the calculation:
# Set up the group with two generators acting on 30 points:
gap> g1 := ( 2,23,20,17, 8,10)( 3,24,30,28,16, 9)( 4,21,18, 7)( 5,22,19, 6)(11,12,25,26)(13,14,27,15); gap> g2 := ( 1, 5,18,29,27,25)( 3, 6,16,28,14,24)( 4,19,30,23)( 7,15,12,10)( 8,11,13, 9)(20,26,22,21); gap> grp := Group(g1,g2); Group( ( 2,23,20,17, 8,10)( 3,24,30,28,16, 9)( 4,21,18, 7)( 5,22,19, 6) (11,12,25,26)(13,14,27,15), ( 1, 5,18,29,27,25)( 3, 6,16,28,14,24) ( 4,19,30,23)( 7,15,12,10)( 8,11,13, 9)(20,26,22,21) )
# Is the group transitive?
gap> Orbits(grp,[1..30]); [ [ 1, 5, 22, 18, 19, 21, 7, 29, 6, 30, 20, 4, 15, 27, 16, 28, 23, 17, 26, 13, 12, 25, 9, 14, 8, 11, 10, 3, 24, 2 ] ]
# Yes. Is the group primitive?
gap> orb := last[1]; [ 1, 5, 22, 18, 19, 21, 7, 29, 6, 30, 20, 4, 15, 27, 16, 28, 23, 17, 26, 13, 12, 25, 9, 14, 8, 11, 10, 3, 24, 2 ] gap> blocks := Blocks(grp,orb); [ [ 1, 29 ], [ 5, 27 ], [ 15, 22 ], [ 18, 25 ], [ 13, 19 ], [ 12, 21 ], [ 7, 26 ], [ 6, 14 ], [ 9, 30 ], [ 10, 20 ], [ 4, 11 ], [ 16, 24 ], [ 3, 28 ], [ 8, 23 ], [ 2, 17 ] ]
# Nope. How about looking at the action on blocks?
gap> op := Operation(grp,blocks,OnSets); Group( ( 2, 3, 5, 8)( 4, 7,11, 6)( 9,13,12)(10,15,14), ( 1, 2, 4)( 3, 6,10, 7) ( 5, 9,14,11)( 8,12,13) ) # Could this be A15 acting on the blocks???? gap> Size(op); 653837184000 gap> Factorial(15); 1307674368000 gap> last/2; 653837184000
# Seems like it might be A15!
# What is the kernel of this action and how big is it?
gap> oph := OperationHomomorphism(grp,op); OperationHomomorphism( Group( ( 2,23,20,17, 8,10)( 3,24,30,28,16, 9) ( 4,21,18, 7)( 5,22,19, 6)(11,12,25,26)(13,14,27,15), ( 1, 5,18,29,27,25) ( 3, 6,16,28,14,24)( 4,19,30,23)( 7,15,12,10)( 8,11,13, 9) (20,26,22,21) ), Group( ( 2, 3, 5, 8)( 4, 7,11, 6)( 9,13,12)(10,15,14), ( 1, 2, 4)( 3, 6,10, 7)( 5, 9,14,11)( 8,12,13) ) ) gap> ker := Kernel(oph); Subgroup( Group( ( 2,23,20,17, 8,10)( 3,24,30,28,16, 9)( 4,21,18, 7) ( 5,22,19, 6)(11,12,25,26)(13,14,27,15), ( 1, 5,18,29,27,25)( 3, 6,16,28,14,24 )( 4,19,30,23)( 7,15,12,10)( 8,11,13, 9)(20,26,22,21) ), [ ( 2,17)( 8,23), ( 1,29)( 2,17), ( 2,17)( 5,27), ( 1,29)(15,22), ( 2,17)( 8,23)(15,22)(18,25), ( 5,27)( 8,23)(13,19)(18,25), ( 2,17)( 8,23)(12,21)(13,19), ( 2,17)( 7,26), ( 6,14)( 8,23), ( 6,14)( 9,30), ( 8,23)(10,20), ( 4,11)(15,22), ( 8,23)(16,24), ( 3,28)( 8,23) ] ) gap> Size(ker); 16384 gap> IsElementaryAbelian(ker); true # Hmmm... there seem to be 14 copies of C2 here. # Where can we look for a complement to this kernel? # How about the stabilizer of the set of first elements of # the blocks? gap> blocks; [ [ 1, 29 ], [ 5, 27 ], [ 15, 22 ], [ 18, 25 ], [ 13, 19 ], [ 12, 21 ], [ 7, 26 ], [ 6, 14 ], [ 9, 30 ], [ 10, 20 ], [ 4, 11 ], [ 16, 24 ], [ 3, 28 ], [ 8, 23 ], [ 2, 17 ] ] gap> rep := List(blocks,x->x[1]); [ 1, 5, 15, 18, 13, 12, 7, 6, 9, 10, 4, 16, 3, 8, 2 ] gap> rep := Set(List(blocks,x->x[1])); [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 15, 16, 18 ] gap> stab := Stabilizer(grp,rep,OnSets); Subgroup( Group( ( 2,23,20,17, 8,10)( 3,24,30,28,16, 9)( 4,21,18, 7) ( 5,22,19, 6)(11,12,25,26)(13,14,27,15), ( 1, 5,18,29,27,25)( 3, 6,16,28,14,24 )( 4,19,30,23)( 7,15,12,10)( 8,11,13, 9)(20,26,22,21) ), [ (15,16,18)(22,24,25), (13,15)(16,18)(19,22)(24,25), (12,13)(16,18)(19,21)(24,25), (10,12)(16,18)(20,21)(24,25), ( 9,10)(16,18)(20,30)(24,25), ( 8, 9)(16,18)(23,30)(24,25), ( 7, 8)(16,18)(23,26)(24,25), ( 6, 7)(14,26)(16,18)(24,25), ( 5, 6)(14,27)(16,18)(24,25), ( 4, 5)(11,27)(16,18)(24,25), ( 3, 4)(11,28)(16,18)(24,25), ( 2, 3)(16,18)(17,28)(24,25), ( 1, 2)(16,18)(17,29)(24,25) ] ) gap> Size(stab); 653837184000 gap> Size(grp)/(Size(stab)*Size(ker)); 1 # It looks like stab is the right size for a complement.... gap> Intersection(stab,ker); Subgroup( Group( ( 2,23,20,17, 8,10)( 3,24,30,28,16, 9)( 4,21,18, 7) ( 5,22,19, 6)(11,12,25,26)(13,14,27,15), ( 1, 5,18,29,27,25)( 3, 6,16,28,14,24 )( 4,19,30,23)( 7,15,12,10)( 8,11,13, 9)(20,26,22,21) ), [ ] ) gap> Size(last); 1 # And there we have it, the group is a semi-direct product of A15 # acting on C2^14!