set workspace=2; W:free(s0,s1,s2,s3); W.relations:s0^2,s1^2,s2^2,s3^2,(s0*s2)^2,(s0*s3)^2,(s1*s3)^2, (s0*s1)^3,(s1*s2)^3,(s2*s3)^5; o:=order(W); print 'Calculated Group - now starting on nonsparse elements'; H0:=; H3:=; KK:=H0*H3; K:=KK; for each j in W do K:=K join (KK^j); end; save 'w335'; print 'Calculated nonsparse elements - now starting on subgroups'; SS:=seq(seq(o/30,o/30),seq(o/24,o/24),seq(o/20,o/20),seq(o/15,o/15), seq(o/12,o/12),seq(o/10,o/10),seq(o/8,o/8),seq(o/6,o/6),seq(o/5,o/5), seq(o/4,o/4),seq(o/3,o/3),seq(o/2,o/2),seq(o,o)); S:=low index subgroups(W,0,SS; al:tc, genset=1); I:=; save 'w335'; print 'Calculated subgroups - now starting on the final stretch home!!'; A:=empty; for j = 1 to length(S) do if (( meet K) eq I) then A:=append(A,); end; end; save 'w335'; print ' '; print 'List of subgroups which would produce quotient polytopes'; print '(Actually, representatives of Conjugacy Classes of same)'; print 'Also some additional information'; print 'There are',length(A),'subgroups listed.'; for j = 1 to length(A) do print ' '; print ' '; print 'A[',j,']',A[j]; if invariant(W,A[j]) then print 'A is Normal in W, hence polytope is strongly regular'; end; print 'Normaliser: (Aut(A) is isomorphic to N/A)'; print normaliser(W,A[j]); print 'Core: (Gamma(A) is isomorphic to W/C)'; print core(W,A[j]); end; quit;