/* generators for maximal subgroups of M24 */ GeneratorsM24Max1 := function (a,b) w1 := a; w2 := b; w3:=w1*w2; w4:=w3*w2; w5:=w3*w4; w6:=w3*w5; w7:=w6*w3; w2:=w7*w7; w1:=w2*w2; w5:=w4*w4; w6:=w4*w5; w5:=w6^-1; w7:=w5*w2; w2:=w7*w6; w4:=w3*w3; w5:=w4*w4; w4:=w5^-1; w6:=w4*w1; w1:=w6*w5; return [w1,w2]; end function; GeneratorsM24Max2 := function (a,b) w1 := a; w2 := b; w3:=w1*w2; w4:=w3^3; w5:=w4*w2; w6:=w5^-1; w4:=w6*w2; w2:=w4*w5; return [w1,w2]; end function; GeneratorsM24Max3 := function (a,b) w1 := a; w2 := b; w3:=w1*w2; w4:=w3*w2; w5:=w3*w4; w6:=w5^9; w7:=w3^11; w8:=w7*w6; w6:=w5*w5; w7:=w3*w6; w6:=w7*w7; w7:=w8^-1; w5:=w7*w6; w2:=w5*w8; return [w1,w2]; end function; GeneratorsM24Max4 := function (a,b) w1 := a; w2 := b; w3:=w1*w2; w4:=w3*w2; w5:=w3*w4; w6:=w3^12; w7:=w5^5; w8:=w6*w7; w9:=w8^-1; w6:=w9*w2; w2:=w6*w8; return [w1,w2]; end function; GeneratorsM24Max5 := function (a,b) w1 := a; w2 := b; w3:=w1*w2; w4:=w3*w2; w5:=w3*w4; w6:=w3*w5; w1:=w5^3; w9:=w3^8; w8:=w9*w5; w5:=w6^3; w9:=w8^-1; w7:=w9*w5; w2:=w7*w8; return [w1,w2]; end function; GeneratorsM24Max6 := function (a,b) w1 := a; w2 := b; w3:=w1*w2; w4:=w3*w2; w5:=w3*w4; w6:=w3*w5; w7:=w6*w3; w1:=w6^6; w9:=w5^10; w8:=w3*w9; w5:=w7*w7; w9:=w8^-1; w7:=w9*w5; w2:=w7*w8; return [w1,w2]; end function; GeneratorsM24Max7 := function (a,b) w1 := a; w2 := b; w3:=w1*w2; w4:=w3*w2; w5:=w3*w4; w6:=w3*w5; w9:=w3^7; w10:=w5^11; w8:=w9*w10; w5:=w6^3; w9:=w8^-1; w7:=w9*w5; w2:=w7*w8; return [w1,w2]; end function; GeneratorsM24Max8 := function (a,b) w1 := a; w2 := b; w3:=w1*w2; w4:=w3*w2; w5:=w3*w4; w6:=w3^7; w7:=w5^11; w8:=w6*w7; w6:=w5^3; w9:=w8^-1; w7:=w9*w6; w2:=w7*w8; return [w1,w2]; end function; GeneratorsM24Max9 := function (a,b) w1 := a; w2 := b; w3:=w1*w2; w4:=w3*w2; w5:=w3*w4; w6:=w3^3; w7:=w5^4; w8:=w6*w7; w6:=w5^3; w9:=w8^-1; w7:=w9*w6; w2:=w7*w8; return [w1,w2]; end function; /* list of subgroups of M24 */ DataM24 := function () F := SLPGroup (2); L := [ rec , rec , rec , rec , rec , rec , rec , rec , rec , rec ]; return L; end function; /* code to find standard generators of M24 and produce listing of maximal subgroups */ MaximalsM24 := function (G) x, y := StandardGeneratorsM24(G); if Type(x) eq BoolElt then "Unable to find Standard Generators"; return false; end if; G := sub; return ListMaximals(G, "M24", DataM24()); end function;