p = 3 m = 2 F = GF(p^2, 'a') a = F.gens()[0] Rxx. = PolynomialRing(F) #f = (x^3 - x)^3 + x^3 - x f = x^3 + a*x + 1 f1 = f(x = x^p - x) C = superelliptic(f, m) C1 = superelliptic(f1, m, prec = 500) #B = C.crystalline_cohomology_basis(prec = 100, info = 1) #B1 = C1.crystalline_cohomology_basis(prec = 100, info = 1) def crystalline_matrix(C, prec = 50): B = C.crystalline_cohomology_basis(prec = prec) g = C.genus() p = C.characteristic Zp2 = Integers(p^2) M = matrix(Zp2, 2*g, 2*g) for i, b in enumerate(B): M[i, :] = vector(autom(b).coordinates(basis = B)) return M #b0 = de_rham_witt_lift(C.de_rham_basis()[0], prec = 100) #b1 = de_rham_witt_lift(C1.de_rham_basis()[2], prec = 300) #print(b0.regular_form()) #print(b1.regular_form()) for b in C1.de_rham_basis(): print(mult_by_p(b.omega0).regular_form()) #for b in B: # print(b.regular_form()) #for b in B1: # print(b.regular_form()) #M = crystalline_matrix(C, prec = 150) #print(M) #print(M^3)