N := 3^3*199; bound := 4000; F := GF(25); G:=DirichletGroup(N, F); assert Order(a) mod 2 eq 0; assert Order(b) mod 3 eq 0; eps := a^(Order(a) div 2) * (b^(Order(b) div 3)); time M := ModularSymbols(eps,5,+1); "Created M = ", M; R:= PolynomialRing(F); I := [<7,x>, <23,x>, <37,x>, <79, x>, <89, x>, <2, x+alp^4>]; time V := Kernel(I, M); "Created V = ", V; save "5373.space"; if Dimension(V) ne 2 then error "Dimension of V is not 2."; end if; printf "Computing T_2, T_3, T_5, ..., T_%o.\n", PreviousPrime(bound+1); time T := [DualHeckeOperator(V,p) : p in [2..bound] | IsPrime(p)]; file := Open(IntegerToString(N) cat ".Tp", "w"); fprintf file, "F := GF(%o);\n", #F; fprintf file, "T%o := \n %m;\n", N, T; print "All done!";