gap> Read("FactorizationProgram.gap"); gap> G:=SL(2,8);; gap> Factors(Order(G)); [ 2, 2, 2, 3, 3, 7 ] gap> a:=12;; gap> Factors(a); [ 2, 2, 3 ] gap> b:=Order(G)/a;; gap> Factors(b); [ 2, 3, 7 ] gap> H:=Group([[[0*Z(2), Z(2)^0],[Z(2)^0,Z(2)^0]],[[0*Z(2), Z(2)^0],[Z(2)^0, 0*Z(2)]]]);; gap> Factors(Order(H)); [ 2, 3 ] gap> K:=SylowSubgroup(G,7);; gap> Factors(Order(K)); [ 7 ] gap> R:=FactorizationIntoSubsets(G,H,K,a);; Matrix of double cosets was built. gap> A:=R[1];; gap> Size(A)=a; true gap> B:=R[2];; gap> Size(B)=b; true gap> G=ProdSets(A,B); true gap> a:=21;; gap> Factors(a); [ 3, 7 ] gap> b:=Order(G)/a;; gap> Factors(b); [ 2, 2, 2, 3 ] gap> H:=SylowSubgroup(G,7);; gap> Factors(Order(H)); [ 7 ] gap> K:=SylowSubgroup(G,2);; gap> Factors(Order(K)); [ 2, 2, 2 ] gap> R:=FactorizationIntoSubsets(G,H,K,a);; Matrix of double cosets was built. gap> A:=R[1];; gap> Size(A)=a; true gap> B:=R[2];; gap> Size(B)=b; true gap> G=ProdSets(A,B); true gap> G:=PSL(2,13);; gap> Factors(Order(G)); [ 2, 2, 3, 7, 13 ] gap> a:=21;; gap> Factors(a); [ 3, 7 ] gap> b:=Order(G)/a;; gap> Factors(b); [ 2, 2, 13 ] gap> H:=SylowSubgroup(G,7);; gap> Factors(Order(H)); [ 7 ] gap> K:=MaximalSubgroupClassReps(MaximalSubgroupClassReps(G)[1])[2];; gap> Factors(Order(K)); [ 2, 13 ] gap> R:=FactorizationIntoSubsets(G,H,K,a);; Matrix of double cosets was built. gap> A:=R[1];; gap> Size(A)=a; true gap> B:=R[2];; gap> Size(B)=b; true gap> G=ProdSets(A,B); true gap> G:=PSL(2,17);; gap> Factors(Order(G)); [ 2, 2, 2, 2, 3, 3, 17 ] gap> a:=48;; gap> Factors(a); [ 2, 2, 2, 2, 3 ] gap> b:=Order(G)/a;; gap> Factors(b); [ 3, 17 ] gap> H:=SylowSubgroup(G,2);; gap> Factors(Order(H)); [ 2, 2, 2, 2 ] gap> K:=SylowSubgroup(G,17);; gap> Factors(Order(K)); [ 17 ] gap> R:=FactorizationIntoSubsets(G,H,K,a);; Matrix of double cosets was built. gap> A:=R[1];; gap> Size(A)=a; true gap> B:=R[2];; gap> Size(B)=b; true gap> G=ProdSets(A,B); true gap> G:=PSL(2,19);; gap> Factors(Order(G)); [ 2, 2, 3, 3, 5, 19 ] gap> a:=36;; gap> Factors(a); [ 2, 2, 3, 3 ] gap> b:=Order(G)/a;; gap> Factors(b); [ 5, 19 ] gap> H:=MaximalSubgroupClassReps(G)[5];; gap> Factors(Order(H)); [ 2, 3, 3 ] gap> K:=SylowSubgroup(G,19);; gap> Factors(Order(K)); [ 19 ] gap> R:=FactorizationIntoSubsets(G,H,K,a);; Matrix of double cosets was built. gap> A:=R[1];; gap> Size(A)=a; true gap> B:=R[2];; gap> Size(B)=b; true gap> G=ProdSets(A,B); true gap> a:=38;; gap> Factors(a); [ 2, 19 ] gap> b:=Order(G)/a;; gap> Factors(b); [ 2, 3, 3, 5 ] gap> H:=SylowSubgroup(G,19);; gap> Factors(Order(H)); [ 19 ] gap> K:=MaximalSubgroupClassReps(G)[5];; gap> Factors(Order(K)); [ 2, 3, 3 ] gap> R:=FactorizationIntoSubsets(G,H,K,a);; Matrix of double cosets was built. gap> A:=R[1];; gap> Size(A)=a; true gap> B:=R[2];; gap> Size(B)=b; true gap> G=ProdSets(A,B); true gap> a:=45;; gap> Factors(a); [ 3, 3, 5 ] gap> b:=Order(G)/a;; gap> Factors(b); [ 2, 2, 19 ] gap> H:=SylowSubgroup(G,3);; gap> Factors(Order(H)); [ 3, 3 ] gap> K:=SylowSubgroup(G,19);; gap> Factors(Order(K)); [ 19 ] gap> R:=FactorizationIntoSubsets(G,H,K,a);; Matrix of double cosets was built. gap> A:=R[1];; gap> Size(A)=a; true gap> B:=R[2];; gap> Size(B)=b; true gap> G=ProdSets(A,B); true gap> G:=PSL(2,23);; gap> Factors(Order(G)); [ 2, 2, 2, 3, 11, 23 ] gap> a:=44;; gap> Factors(a); [ 2, 2, 11 ] gap> b:=Order(G)/a;; gap> Factors(b); [ 2, 3, 23 ] gap> H:=MaximalSubgroupClassReps(G)[5];; gap> Factors(Order(H)); [ 2, 11 ] gap> K:=SylowSubgroup(G,23);; gap> Factors(Order(K)); [ 23 ] gap> R:=FactorizationIntoSubsets(G,H,K,a);; Matrix of double cosets was built. gap> A:=R[1];; gap> Size(A)=a; true gap> B:=R[2];; gap> Size(B)=b; true gap> G=ProdSets(A,B); true gap> a:=46;; gap> Factors(a); [ 2, 23 ] gap> b:=Order(G)/a;; gap> Factors(b); [ 2, 2, 3, 11 ] gap> H:=SylowSubgroup(G,23);; gap> Factors(Order(H)); [ 23 ] gap> K:=MaximalSubgroupClassReps(G)[5];; gap> Factors(Order(K)); [ 2, 11 ] gap> R:=FactorizationIntoSubsets(G,H,K,a);; Matrix of double cosets was built. gap> A:=R[1];; gap> Size(A)=a; true gap> B:=R[2];; gap> Size(B)=b; true gap> G=ProdSets(A,B); true gap> a:=66;; gap> Factors(a); [ 2, 3, 11 ] gap> b:=Order(G)/a;; gap> Factors(b); [ 2, 2, 23 ] gap> H:=MaximalSubgroupClassReps(G)[5];; gap> Factors(Order(H)); [ 2, 11 ] gap> K:=SylowSubgroup(G,23);; gap> Factors(Order(K)); [ 23 ] gap> R:=FactorizationIntoSubsets(G,H,K,a);; Matrix of double cosets was built. gap> A:=R[1];; gap> Size(A)=a; true gap> B:=R[2];; gap> Size(B)=b; true gap> G=ProdSets(A,B); true gap> a:=69;; gap> Factors(a); [ 3, 23 ] gap> b:=Order(G)/a;; gap> Factors(b); [ 2, 2, 2, 11 ] gap> H:=SylowSubgroup(G,23);; gap> Factors(Order(H)); [ 23 ] gap> K:=MaximalSubgroupClassReps(G)[5];; gap> Factors(Order(K)); [ 2, 11 ] gap> R:=FactorizationIntoSubsets(G,H,K,a);; Matrix of double cosets was built. gap> A:=R[1];; gap> Size(A)=a; true gap> B:=R[2];; gap> Size(B)=b; true gap> G=ProdSets(A,B); true gap> G:=PSL(2,25);; gap> Factors(Order(G)); [ 2, 2, 2, 3, 5, 5, 13 ] gap> a:=39;; gap> Factors(a); [ 3, 13 ] gap> b:=Order(G)/a;; gap> Factors(b); [ 2, 2, 2, 5, 5 ] gap> H:=SylowSubgroup(G,13);; gap> Factors(Order(H)); [ 13 ] gap> K:=MaximalSubgroupClassReps(MaximalSubgroupClassReps(PSL(2,25))[1])[2];; gap> Factors(Order(K)); [ 2, 2, 5, 5 ] gap> R:=FactorizationIntoSubsets(G,H,K,a);; Matrix of double cosets was built. gap> A:=R[1];; gap> Size(A)=a; true gap> B:=R[2];; gap> Size(B)=b; true gap> G=ProdSets(A,B); true gap> G:=PSL(2,27);; gap> Factors(Order(G)); [ 2, 2, 3, 3, 3, 7, 13 ] gap> a:=18; gap> Factors(a); [ 2, 3, 3 ] gap> b:=Order(G)/a;; gap> Factors(b); [ 2, 3, 7, 13 ] gap> H:=MaximalSubgroupClassReps(SylowSubgroup(G,3))[1];; gap> Factors(Order(H)); [ 3, 3 ] gap> K:=MaximalSubgroupClassReps(G)[3];; gap> Factors(Order(K)); [ 2, 2, 3, 7, 13 ] gap> R:=FactorizationIntoSubsets(G,H,K,a);; Matrix of double cosets was built. gap> A:=R[1];; gap> Size(A)=a; true gap> B:=R[2];; gap> Size(B)=b; true gap> G=ProdSets(A,B); true gap> a:=21;; gap> Factors(a); [ 3, 7 ] gap> b:=Order(G)/a;; gap> Factors(b); [ 2, 2, 3, 3, 13 ] gap> H:=SylowSubgroup(G,7);; gap> Factors(Order(H)); [ 7 ] gap> K:=MaximalSubgroupClassReps(G)[3];; gap> Factors(Order(K)); [ 2, 13 ] gap> R:=FactorizationIntoSubsets(G,H,K,a);; Matrix of double cosets was built. gap> A:=R[1];; gap> Size(A)=a; true gap> B:=R[2];; gap> Size(B)=b; true gap> G=ProdSets(A,B); true gap> a:=36;; gap> Factors(a); [ 2, 2, 3, 3 ] gap> b:=Order(G)/a;; gap> Factors(b); [ 3, 7, 13 ] gap> H:=MaximalSubgroupClassReps(G)[4];; gap> Factors(Order(H)); [ 2, 2, 3 ] gap> K:=SylowSubgroup(G,13);; gap> Factors(Order(K)); [ 13 ] gap> R:=FactorizationIntoSubsets(G,H,K,a);; Matrix of double cosets was built. gap> A:=R[1];; gap> Size(A)=a; true gap> B:=R[2];; gap> Size(B)=b; true gap> G=ProdSets(A,B); true gap> a:=42;; gap> Factors(a); [ 2, 3, 7 ] gap> b:=Order(G)/a;; gap> Factors(b); [ 2, 3, 3, 13 ] gap> H:=MaximalSubgroupClassReps(MaximalSubgroupClassReps(G)[2])[1];; gap> Factors(Order(H)); [ 2, 7 ] gap> K:=SylowSubgroup(G,13);; gap> Factors(Order(K)); [ 13 ] gap> R:=FactorizationIntoSubsets(G,H,K,a);; Matrix of double cosets was built. gap> A:=R[1];; gap> Size(A)=a; true gap> B:=R[2];; gap> Size(B)=b; true gap> G=ProdSets(A,B); true gap> a:=52;; gap> Factors(a); [ 2, 2, 13 ] gap> b:=Order(G)/a;; gap> Factors(b); [ 3, 3, 3, 7 ] gap> H:=MaximalSubgroupClassReps(G)[3];; gap> Factors(Order(H)); [ 2, 13 ] gap> K:=SylowSubgroup(G,13);; gap> Factors(Order(K)); [ 3, 3, 3 ] gap> R:=FactorizationIntoSubsets(G,H,K,a);; Matrix of double cosets was built. gap> A:=R[1];; gap> Size(A)=a; true gap> B:=R[2];; gap> Size(B)=b; true gap> G=ProdSets(A,B); true gap> a:=54;; gap> Factors(a); [ 2, 3, 3, 3 ] gap> b:=Order(G)/a;; gap> Factors(b); [ 2, 7, 13 ] gap> H:=SylowSubgroup(G,3);; gap> Factors(Order(H)); [ 3, 3, 3 ] gap> K:=MaximalSubgroupClassReps(G)[3];; gap> Factors(Order(K)); [ 2, 13 ] gap> R:=FactorizationIntoSubsets(G,H,K,a);; Matrix of double cosets was built. gap> A:=R[1];; gap> Size(A)=a; true gap> B:=R[2];; gap> Size(B)=b; true gap> G=ProdSets(A,B); true gap> a:=63;; gap> Factors(a); [ 3, 3, 7 ] gap> b:=Order(G)/a;; gap> Factors(b); [ 2, 2, 3, 13 ] gap> H:=MaximalSubgroupClassReps(SylowSubgroup(G,3))[1];; gap> Factors(Order(H)); [ 3, 3 ] gap> K:=MaximalSubgroupClassReps(G)[3];; gap> Factors(Order(K)); [ 2, 13 ] gap> R:=FactorizationIntoSubsets(G,H,K,a);; Matrix of double cosets was built. gap> A:=R[1];; gap> Size(A)=a; true gap> B:=R[2];; gap> Size(B)=b; true gap> G=ProdSets(A,B); true gap> a:=78;; gap> Factors(a); [ 2, 3, 13 ] gap> b:=Order(G)/a;; gap> Factors(b); [ 2, 3, 3, 7 ] gap> H:=MaximalSubgroupClassReps(G)[3];; gap> Factors(Order(H)); [ 2, 13 ] gap> K:=MaximalSubgroupClassReps(SylowSubgroup(G,3))[1];; gap> Factors(Order(K)); [ 3, 3 ] gap> R:=FactorizationIntoSubsets(G,H,K,a);; Matrix of double cosets was built. gap> A:=R[1];; gap> Size(A)=a; true gap> B:=R[2];; gap> Size(B)=b; true gap> G=ProdSets(A,B); true gap> a:=91;; gap> Factors(a); [ 7, 13 ] gap> b:=Order(G)/a;; gap> Factors(b); [ 2, 2, 3, 3, 3 ] gap> H:=SylowSubgroup(G,13);; gap> Factors(Order(H)); [ 13 ] gap> K:=SylowSubgroup(G,3);; gap> Factors(Order(K)); [ 3, 3, 3 ] gap> R:=FactorizationIntoSubsets(G,H,K,a);; Matrix of double cosets was built. gap> A:=R[1];; gap> Size(A)=a; true gap> B:=R[2];; gap> Size(B)=b; true gap> G=ProdSets(A,B); true gap> quit;