2023-03-29 12:01:56 +02:00
|
|
|
p = 5
|
2023-02-24 13:51:49 +01:00
|
|
|
m = 2
|
2022-11-18 15:00:34 +01:00
|
|
|
F = GF(p)
|
2023-03-30 17:49:22 +02:00
|
|
|
Rxx.<x> = PolynomialRing(F)
|
2023-03-29 12:01:56 +02:00
|
|
|
#f = (x^3 - x)^3 + x^3 - x
|
|
|
|
f = x^3 + x
|
|
|
|
f1 = f(x = x^5 - x)
|
2023-02-23 12:26:25 +01:00
|
|
|
C = superelliptic(f, m)
|
2023-03-30 17:49:22 +02:00
|
|
|
C1 = superelliptic(f1, m, prec = 500)
|
2023-03-29 12:01:56 +02:00
|
|
|
B = C.crystalline_cohomology_basis(prec = 100, info = 1)
|
2023-03-30 17:49:22 +02:00
|
|
|
B1 = C1.crystalline_cohomology_basis(prec = 100, info = 1)
|
2023-03-23 18:45:28 +01:00
|
|
|
|
2023-03-29 12:01:56 +02:00
|
|
|
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
|
2023-03-23 18:45:28 +01:00
|
|
|
|
2023-03-30 17:49:22 +02:00
|
|
|
for b in B:
|
|
|
|
print(b.regular_form())
|
|
|
|
|
|
|
|
for b in B1:
|
|
|
|
print(b.regular_form())
|
|
|
|
|
2023-03-29 12:01:56 +02:00
|
|
|
#M = crystalline_matrix(C, prec = 150)
|
|
|
|
#print(M)
|
|
|
|
#print(M^3)
|