// generating by shuffles SetLogFile("shufgen1.log":Overwrite:=true); // set up group and generating shuffles G := SymmetricGroup(4); t1 := G!(1,2); t2 := G!(2,3); t3 := G!(3,4); S := {t1,t2,t3}; //t := G!(1,2); c := G!(1,2,3,4); S := {t,c}; //d := G!(1,2)(3,4); c := G!(1,2,3); S := {d,c}; // set up counters Nlist := [1]; Blist := [1]; oldnum := 1; // build group W := {Id(G)}; for j in [1..12] do W := W join {x*y:x in W, y in S}; print W; newnum := #W; Nlist := Append(Nlist,newnum); Blist := Append(Blist,newnum-oldnum); print [j,newnum,newnum-oldnum]; oldnum := newnum; end for; print Nlist; print Blist; UnsetLogFile();