gap> g1 := (7,9,11,13,15)(6,8,10,12,14); ( 6, 8,10,12,14)( 7, 9,11,13,15) gap> g2 := (16,19,10,4,14)(3,5,15,20,9); ( 3, 5,15,20, 9)( 4,14,16,19,10) gap> grp := Group(g1,g2); Group( ( 6, 8,10,12,14)( 7, 9,11,13,15), ( 3, 5,15,20, 9)( 4,14,16,19,10) ) gap> n:=Size(grp); 20160 gap> g3:=(1,7,19,11,4)(20,18,12,5,6); ( 1, 7,19,11, 4)( 5, 6,20,18,12) gap> grp := Group(g1,g2,g3); Group( ( 6, 8,10,12,14)( 7, 9,11,13,15), ( 3, 5,15,20, 9)( 4,14,16,19,10), ( 1, 7,19,11, 4)( 5, 6,20,18,12) ) gap> n:=Size(grp); 46448640 gap> g4:=(5,2,9,18,13)(19,17,14,1,8); ( 1, 8,19,17,14)( 2, 9,18,13, 5) gap> grp := Group(g1,g2,g3,g4); Group( ( 6, 8,10,12,14)( 7, 9,11,13,15), ( 3, 5,15,20, 9)( 4,14,16,19,10), ( 1, 7,19,11, 4)( 5, 6,20,18,12), ( 1, 8,19,17,14)( 2, 9,18,13, 5) ) gap> n:=Size(grp); 928972800 gap> Factors(n); [ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 5, 5, 7 ] gap> g5:=(1,3,11,17,15)(6,2,10,17,16); Error, Perm: cycles must be disjoint gap> grp := Group(g1,g2,g3,g4,g5); Error, Variable: 'g5' must have a value gap> g5:=(1,3,11,17,15)(6,2,10,18,16); ( 1, 3,11,17,15)( 2,10,18,16, 6) gap> grp := Group(g1,g2,g3,g4,g5); Group( ( 6, 8,10,12,14)( 7, 9,11,13,15), ( 3, 5,15,20, 9)( 4,14,16,19,10), ( 1, 7,19,11, 4)( 5, 6,20,18,12), ( 1, 8,19,17,14)( 2, 9,18,13, 5), ( 1, 3,11,17,15)( 2,10,18,16, 6) ) gap> n:=Size(grp); 928972800 gap> Orbits(grp,[1..20]); [ [ 1, 7, 8, 3, 9, 19, 10, 5, 11, 18, 17, 12, 4, 15, 6, 2, 13, 16, 14, 20 ] ] gap> orb := last[1]; [ 1, 7, 8, 3, 9, 19, 10, 5, 11, 18, 17, 12, 4, 15, 6, 2, 13, 16, 14, 20 ] gap> blocks := Blocks(grp,orb); [ [ 1, 18 ], [ 7, 12 ], [ 8, 13 ], [ 3, 16 ], [ 9, 14 ], [ 5, 19 ], [ 10, 15 ], [ 6, 11 ], [ 2, 17 ], [ 4, 20 ] ] gap> op := Operation(grp,blocks,OnSets); Group( ( 2, 5, 8, 3, 7), ( 4, 6, 7,10, 5), ( 1, 2, 6, 8,10), ( 1, 3, 6, 9, 5), ( 1, 4, 8, 9, 7) ) gap> Size(op); 1814400 gap> Factorial(12); 479001600 gap> Factorial(10); 3628800 gap> Factorial(10)/2; 1814400 gap> m:=Factorial(10)/2; 1814400 gap> Factors(n/m); [ 2, 2, 2, 2, 2, 2, 2, 2, 2 ] gap> Print("test"); testgap> gap> Print("test/n"); test/ngap> Print("test\n"); test gap> Print("grp=A10 semidirect C2^9\n"); grp=A10 semidirect C2^9 gap> g6:=(7,2,4,13,16)(3,12,17,20,8); ( 2, 4,13,16, 7)( 3,12,17,20, 8) gap> grp := Group(g1,g2,g3,g4,g5,g6); Group( ( 6, 8,10,12,14)( 7, 9,11,13,15), ( 3, 5,15,20, 9)( 4,14,16,19,10), ( 1, 7,19,11, 4)( 5, 6,20,18,12), ( 1, 8,19,17,14)( 2, 9,18,13, 5), ( 1, 3,11,17,15)( 2,10,18,16, 6), ( 2, 4,13,16, 7)( 3,12,17,20, 8) ) gap> n:=Size(grp); 928972800 gap> n1:=9627755206121277812101663948800000; 9627755206121277812101663948800000 gap> n2:=10712468422656000; 10712468422656000 gap> Factors(n1/(n*n2)); [ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 ] gap> Print("G allows the corners to be twisted in pairs?\n"); G allows the corners to be twisted in pairs? gap> Print("G allows the edges to be flipped in pairs?\n"); G allows the edges to be flipped in pairs? gap> Print("G allows the edges to be flipped in pairs? (14 pairs?)\n"); G allows the edges to be flipped in pairs? (14 pairs?) gap> oph := OperationHomomorphism(grp,op); OperationHomomorphism( Group( ( 6, 8,10,12,14)( 7, 9,11,13,15), ( 3, 5,15,20, 9)( 4,14,16,19,10), ( 1, 7,19,11, 4)( 5, 6,20,18,12), ( 1, 8,19,17,14)( 2, 9,18,13, 5), ( 1, 3,11,17,15)( 2,10,18,16, 6), ( 2, 4,13,16, 7)( 3,12,17,20, 8) ), Group( ( 2, 5, 8, 3, 7), ( 4, 6, 7,10, 5), ( 1, 2, 6, 8,10), ( 1, 3, 6, 9, 5), ( 1, 4, 8, 9, 7) ) ) gap> ker := Kernel(oph); Subgroup( Group( ( 6, 8,10,12,14)( 7, 9,11,13,15), ( 3, 5,15,20, 9) ( 4,14,16,19,10), ( 1, 7,19,11, 4)( 5, 6,20,18,12), ( 1, 8,19,17,14) ( 2, 9,18,13, 5), ( 1, 3,11,17,15)( 2,10,18,16, 6), ( 2, 4,13,16, 7) ( 3,12,17,20, 8) ), [ ( 2,17)( 4,20), ( 1,18)( 4,20), ( 1,18)( 2,17)( 4,20)( 7,12), ( 4,20)( 8,13), ( 1,18)( 2,17)( 3,16)( 4,20), ( 2,17)( 3,16)( 4,20)( 7,12)( 8,13)( 9,14), ( 1,18)( 2,17)( 5,19)( 8,13), ( 2,17)( 3,16)( 7,12)(10,15), ( 1,18)( 4,20)( 6,11)( 7,12) ] ) gap> Size(ker); 512 gap> IsElementaryAbelian(ker); true gap> Factors(512); [ 2, 2, 2, 2, 2, 2, 2, 2, 2 ] gap> blocks; [ [ 1, 18 ], [ 7, 12 ], [ 8, 13 ], [ 3, 16 ], [ 9, 14 ], [ 5, 19 ], [ 10, 15 ], [ 6, 11 ], [ 2, 17 ], [ 4, 20 ] ] gap> rep := List(blocks,x->x[1]); [ 1, 7, 8, 3, 9, 5, 10, 6, 2, 4 ] gap> rep := Set(List(blocks,x->x[1])); [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ] gap> stab := Stabilizer(grp,rep,OnSets); Subgroup( Group( ( 6, 8,10,12,14)( 7, 9,11,13,15), ( 3, 5,15,20, 9) ( 4,14,16,19,10), ( 1, 7,19,11, 4)( 5, 6,20,18,12), ( 1, 8,19,17,14) ( 2, 9,18,13, 5), ( 1, 3,11,17,15)( 2,10,18,16, 6), ( 2, 4,13,16, 7) ( 3,12,17,20, 8) ), [ ( 8, 9,10)(13,14,15), ( 7, 8)( 9,10)(12,13)(14,15), ( 6, 7)( 9,10)(11,12)(14,15), ( 5, 6)( 9,10)(11,19)(14,15), ( 4, 5)( 9,10)(14,15)(19,20), ( 3, 4)( 9,10)(14,15)(16,20), ( 2, 3)( 9,10)(14,15)(16,17), ( 1, 2)( 9,10)(14,15)(17,18) ] ) gap> Size(stab); 1814400 gap> Size(grp)/(Size(stab)*Size(ker)); 1 gap> quit;