/* generators for maximal subgroups of M23 */ GeneratorsM23Max1 := function (a,b) w1 := a; w2 := b; w3:=w1*w2; w4:=w2*w3; w5:=w2*w4; w6:=w3*w5; w2:=w4*w6; return [w1,w2]; end function; GeneratorsM23Max2 := function (a,b) w1 := a; w2 := b; w3:=w1*w2; w4:=w3*w2; w5:=w3*w4; w6:=w3*w5; w7:=w6*w6; w2:=w6*w7; w5:=w4*w4; w6:=w4*w5; w5:=w6^-1; w4:=w5*w2; w2:=w4*w6; w4:=w3*w3; w5:=w3*w4; w4:=w5*w5; w3:=w4*w4; w4:=w3^-1; w5:=w4*w1; w1:=w5*w3; return [w1,w2]; end function; GeneratorsM23Max3 := function (a,b) w1 := a; w2 := b; w3:=w1*w2; w4:=w3*w2; w5:=w3*w4; w6:=w3*w5; w7:=w6*w6; w2:=w6*w7; w5:=w4*w4; w6:=w4*w5; w5:=w6^-1; w4:=w5*w2; w2:=w4*w6; w4:=w3*w3; w5:=w4*w4; w4:=w5*w5; w5:=w3*w4; w4:=w5^-1; w3:=w4*w1; w1:=w3*w5; return [w1,w2]; end function; GeneratorsM23Max4 := function (a,b) w1 := a; w2 := b; w3:=w1*w2; w4:=w3*w3; w5:=w2*w4; w3:=w4*w4; w6:=w3*w1; w4:=w5^-1; w3:=w4*w1; w1:=w3*w5; w4:=w6^-1; w3:=w4*w2; w2:=w3*w6; return [w1,w2]; end function; GeneratorsM23Max5 := function (a,b) w1 := a; w2 := b; w3:=w1*w2; w1:=w2*w3; w4:=w1*w1; w1:=w2*w4; w4:=w1*w3; w1:=w4*w4; return [w1,w2]; end function; GeneratorsM23Max6 := function (a,b) w1 := a; w2 := b; w3:=w1*w2; w4:=w3*w3; w5:=w3*w4; w7:=w5*w1; w3:=w4*w5; w6:=w2*w3; w4:=w6^-1; w3:=w4*w1; w1:=w3*w6; w4:=w7^-1; w3:=w4*w2; w2:=w3*w7; return [w1,w2]; end function; GeneratorsM23Max7 := function (a,b) w1 := a; w2 := b; w3:=w1*w2; w4:=w3*w2; w5:=w3*w4; w6:=w3*w5; w7:=w6*w3; w8:=w7*w4; w9:=w3*w8; w10:=w9*w4; w2:=w6*w10; w4:=w7*w8; w5:=w4*w4; w4:=w5^-1; w6:=w5*w2; w2:=w6*w4; w9:=w1*w8; w4:=w3*w3; w5:=w3*w4; w3:=w5*w5; w4:=w3^-1; w5:=w4*w9; w1:=w5*w3; return [w1,w2]; end function; /* list of subgroups of M23 */ DataM23 := function () F := SLPGroup (2); L := [ rec , rec , rec , rec , rec , rec , rec , rec ]; return L; end function; /* code to find standard generators of M23 and produce listing of maximal subgroups */ MaximalsM23 := function (G) x, y := StandardGeneratorsM23(G); if Type(x) eq BoolElt then "Unable to find Standard Generators"; return false; end if; G := sub; return ListMaximals(G, "M23", DataM23()); end function;