# Generate the T group (acting on PCS) # t := (1,2,3,4,5,6,7,8,9,10,11,12); t*t; t^2; t^-1; (t^2)^-1; (t^2)^-1 = t^10; T := Group(t); IsomorphismGroups(T,CyclicGroup(12)); Size(T); List(T); Orbit(T,1); IsTransitive(T); Orbit(T,[4,7,12],OnSets); Orbit(T,[4,8,12],OnSets); # # Generate the T/I group # i := (1,11)(2,10)(3,9)(4,8)(5,7); TI := Group(t,i); IsomorphismGroups(TI,DihedralGroup(24)); # # Generate the TTO group # m := (1,5)(2,10)(4,8)(7,11); TTO := Group(t,i,m); IsomorphismGroups(TTO,DirectProduct(DihedralGroup(6),DihedralGroup(8))); # # Define hyper-operators # t^2; i*t^3; i*t^5; AutTI := AutomorphismGroup(TI); alpha := IsomorphismGroups(TTO,AutTI); HypTI := Group(t^alpha,i^alpha); hyp_t := (t^7)^alpha; hyp_i := (i^alpha)*(t^alpha); (t^2)^(hyp_t^2); (i*t^3)^(hyp_t^2); (i*t^5)^(hyp_t^2); (t^2)^(hyp_i*hyp_t^3); (i*t^3)^(hyp_i*hyp_t^3); (i*t^5)^(hyp_i*hyp_t^3); (t^2)^(((hyp_t^2)^-1)*hyp_i*hyp_t^3); (i*t^5)^(((hyp_t^2)^-1)*hyp_i*hyp_t^3); (i*t^7)^(((hyp_t^2)^-1)*hyp_i*hyp_t^3); ((hyp_t^2)^-1)*hyp_i*hyp_t^3 = hyp_i*hyp_t^5; hyp_m := m^alpha*((t^4)^alpha); hyp_mi := hyp_m*hyp_i; # # Inner automorphisms # InnTI := InnerAutomorphismsAutomorphismGroup(AutTI); (t^2)^(t^5); (i*t^5)^(t^5); (i*t^7)^(t^5); beta := ActionHomomorphism(HypTI,InnTI); ker_beta := Kernel(beta); Size(ker_beta); List(ker_beta); ker_beta = Center(HypTI); t^(t^0) = t^(t^6); i^(t^0) = i^(t^6); t^(t^1) = t^(t^7); i^(t^1) = i^(t^7); # # Generate the T/I group acting on K # CM := [4,7,12]; K := Orbit(TI,CM,OnSets); TI_K := Action(TI,K,OnSets); gamma := IsomorphismGroups(TI,TI_K); t_K := Image(gamma,t); i_K := Image(gamma,i); # # Generate the S/W group # S_24 := SymmetricGroup(24); IsSubgroup(S_24,TI_K); SW := Centralizer(S_24,TI_K); # # Define NR operators # IsRegular(TI_K); delta := IsomorphismGroups(TI_K,SW); s := Image(delta,t_K); w := Image(delta,i_K); p := w*s^9; r := w; l := w*s^5; hp := l*p*l; # # Generate the UTT group # T_K := Group(t_K); CinS_24ofT_K := Centralizer(S_24,T_K); Size(CinS_24ofT_K); IsSubgroup(CinS_24ofT_K,SW); # # Alternate mapping on [1 .. 24] for UTTs # minus := (1,13)(2,14)(3,15)(4,16)(5,17)(6,18)(7,19)(8,20)(9,21)(10,22)(11,23)(12,24); plus := minus^2; t^plus; t^minus; # # More NR operations # d := (t^plus)^5*(t^minus)^5*plus; nhp := (t^plus)^3*(t^minus)^9*minus; # # Generate the QTT group # QTT := WreathProduct(TI,SymmetricGroup(2)); # # Generate the "S/I" group # schritt := t^plus*(t^minus)^-1*plus; inversion := i^plus*i^minus*minus; SI := Group(schritt,inversion); IsAbelian(SI); # # Kochavi's cios # i215 := m^plus*m^minus*minus; i216 := (m*i)^plus*(m*i)^minus*minus; i217 := i^plus*i^minus*(t^minus)^6*minus; i218 := (m*i)^plus*(m*i)^minus*(t^minus)^6*minus; i219 := m^plus*m^minus*(t^minus)^3*minus; # # Nonabelian groups of order 24 with a 12-cycle (not including T/I) # TI215 := Group(t^plus*t^minus,i215); TI216 := Group(t^plus*t^minus,i216); TI217 := Group(t^plus*t^minus,i217); TI218 := Group(t^plus*t^minus,i218); TI219 := Group(t^plus*t^minus,i219); # # Small group library IDs # IdGroup(TI); IdGroup(TI215); IdGroup(TI216); IdGroup(TI217); IdGroup(TI218); IdGroup(TI219); # # Generate the Mother group (M) # M := WreathProduct(TTO,SymmetricGroup(2)); # # One more small group ID (an abelian group of order 24 with a 12-cycle) # IdGroup(SI); # # Finding the other abelian group of order 24 with a 12-cycle is left as an exercise to the reader