/* M20 presented on its standard generators. */ G:=Group; // Subgroups in `proper' order. H5:=sub; H6:=sub; H6a:=sub; H7:=sub; H8:=sub; // Class list: C:=[Id(G),x^2,x*y*x*y*x^-1*y*x*y^-1,x,x*y*x^2*y^-1,x*y*x*y*x^-1*y*x^-1*y^-1, y,x*y,x*y*x*y]; D:=[u^G:u in C]; H1:=sub; H2:=sub; H3:=sub; H4:=sub; G:=Group; H1:=sub; H2:=sub; H3:=sub; H4:=sub; F:=QuadraticField(-1); G:=MatrixGroup<4,F|\[-1,0,0,0,0,0,1,0,0,0,0,1,0,-1,-1,-1], [0,1,0,0,(1+i)/2,(1-i)/2,(1+i)/2,0,(1-i)/2,(-1+i)/2,(-1+i)/2,0,(-1+i)/2,(1-i)/2,(1-i)/2,1]>; z:=(x*y^-1)^5; // 4b"M20. G:=Group; H1:=sub; H2:=sub; // H3:=sub; // H4:=sub; > for i in [#S..1 by -1] do H:=sub;A:=MatrixAlgebra;HM:=GModule(H,A);GM:=Induction(HM,G);\ CO:=Constituents(GM);print i,"\t",#S[i],"\t",Dimension(GM),"\t",[Dimension(u):u in CO];end for; 32 48 20 [ 4, 16 ] 31 60 16 [ 16 ] 30 60 16 [ 16 ] 29 24 40 [ 16, 24 ] 28 24 40 [ 4, 16, 20 ] // 4a"M20. G:=Group; H1:=sub; H2:=sub; // H3:=sub; // H4:=sub; 27 60 16 [ 16 ] 26 60 16 [ 16 ] 25 24 40 [ 16, 24 ] 24 24 40 [ 16, 24 ] 23 12 80 [ 16, 24 ] 22 12 80 [ 16, 24 ] 21 12 80 [ 16, 24 ] 20 12 80 [ 16, 24 ] 19 8 120 [ 8, 8, 16, 24 ] 18 8 120 [ 8, 8, 16, 24 ] 17 8 120 [ 8, 8, 16, 24 ] 16 10 96 [ 8, 8, 16, 24 ] 15 10 96 [ 8, 8, 16, 24 ] 14 6 160 [ 8, 8, 16, 24 ] 13 6 160 [ 8, 8, 16, 24 ] for i in [0..3],j in [0..3],k in [0..3] do G:=Group; if #G eq 15360 then print i,j,k,"\t",#G,"\t",AQInvariants(G);end if;end for; for i in [0..3],j in [0..3],k in [0..3] do G:=Group; if #G eq 15360 then print i,j,k,"\t",#G,"\t",AQInvariants(G);end if;end for; G:=Group; H1:=sub; H2:=sub; H3:=sub; H4:=sub; for j in [1,-1],k in [1,-1] do G:=Group; H1:=sub; H2:=sub; H3:=sub; H4:=sub; aq:={AQInvariants(u):u in [H1,H2,H3,H4]}; print j,k,"\t",#G,"\t",#H1,#H2,#H3,#H4,"\t",#aq,"\t",Random(aq);end for; for j in [1,3],k in [1,3],l in [0,2] do G:=Group; print j,k,l,"\t",#G,"\t",#G/Index(G,sub),"\t",AQInvariants(G);end for; for i in [0,1],j in [0,1],k in [0,1],l in [0,1] do G:=Group; print i,j,k,l,"\t",#G,"\t",AQInvariants(G);end for; for i in [0,1],j in [0,1],k in [0,1],l in [0,1] do G:=Group; print i,j,k,l,"\t",#G,"\t",AQInvariants(G);end for; for i in [0,1],j in [0,1],k in [0,1],l in [0,1] do G:=Group; print i,j,k,l,"\t",#G,"\t",AQInvariants(G);end for; G:=Group; H:=sub;