# Set up the group acting on 20 points: g1 := (7,9,11,13,15)(6,8,10,12,14); g2 := (16,19,10,4,14)(3,5,15,20,9); g3:=(1,7,19,11,4)(20,18,12,5,6); g4:=(5,2,9,18,13)(19,17,14,1,8); g5:=(1,3,11,17,15)(6,2,10,18,16); g6:=(7,2,4,13,16)(3,12,17,20,8); grp := Group(g1,g2,g3,g4,g5,g6); n:=Size(grp); # Is the group transitive? Orbits(grp,[1..20]); # Is the group primitive? orb := last[1]; blocks := Blocks(grp,orb); #only use if grp is transitive # Nope. How about looking at the action on blocks? op := Operation(grp,blocks,OnSets); # Could this be A15 acting on the blocks???? Size(op); Factorial(15); # Seems like it might be A15! # What is the kernel of this action and how big is it? oph := OperationHomomorphism(grp,op); ker := Kernel(oph); Size(ker); IsElementaryAbelian(ker); # 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? blocks; rep := List(blocks,x->x[1]); rep := Set(List(blocks,x->x[1])); stab := Stabilizer(grp,rep,OnSets); Size(stab); Size(grp)/(Size(stab)*Size(ker)); # It looks like stab is the right size for a complement.... Intersection(stab,ker); Size(last); # And there we have it, the group is a semi-direct product of A15 # acting on C2^14!