corrected as_transform at non-totally ramified pts

This commit is contained in:
jgarnek 2024-02-08 19:45:54 +00:00
parent 7247bb3ddf
commit 7598e93642
4 changed files with 40 additions and 20 deletions

View File

@ -202,14 +202,21 @@ def artin_schreier_transform(power_series, prec = 10):
power_series = power_series - (coeff*t^(-p*M) - coeff.nth_root(p)*t^(-M))
jump = max(-(power_series.valuation()), 0)
try:
T = nth_root2((power_series)^(-1), jump, prec=prec) #T is defined by power_series = 1/T^m
if jump != 0:
T = nth_root2((power_series)^(-1), jump, prec=prec) #T is defined by power_series = 1/T^m
except:
print("no ", str(jump), "-th root; divide by", power_series.list()[0])
return (jump, power_series.list()[0])
T_rev = new_reverse(T, prec = prec)
t_old = T_rev(t^p/nth_root2(1 - t^((p-1)*jump), jump, prec=prec))
z = 1/t^(jump) + Rt(correction)(t = t_old)
return(jump, correction, t_old, z)
if jump != 0:
T_rev = new_reverse(T, prec = prec)
t_old = T_rev(t^p/nth_root2(1 - t^((p-1)*jump), jump, prec=prec))
z = 1/t^(jump) + Rt(correction)(t = t_old)
return(jump, correction, t_old, z)
if jump == 0:
aux = t^p - t
z = new_reverse(aux, prec = prec)
z = z(t = power_series)
return(0, correction, t, z)
def are_forms_linearly_dependent(set_of_forms):

View File

@ -1,10 +1,10 @@
p = 3
F = GF(3)
F = GF(3^2, 'a')
Rx.<x> = PolynomialRing(F)
P1 = superelliptic(x^2 + 1, 1)
P1 = superelliptic(x^2 + 1, 2)
fct1 = (P1.x)^2
fct2 = fct1 + (P1.x)/(P1.y - P1.x)
fct3 = (P1.x)^4
C = heisenberg_cover(P1, [fct1, fct2, fct3], prec=300)
C = heisenberg_cover(P1, [1/2*fct1, fct2, fct3], prec=300)
print(C)
a, b, c = heisenberg_group_action_matrices_holo(C)
a1, b1, c1 = heisenberg_group_action_matrices_holo(C)

View File

@ -225,15 +225,21 @@ def artin_schreier_transform(power_series, prec = 10):
power_series = power_series - (coeff*t^(-p*M) - coeff.nth_root(p)*t^(-M))
jump = max(-(power_series.valuation()), 0)
try:
T = nth_root2((power_series)^(-1), jump, prec=prec) #T is defined by power_series = 1/T^m
if jump != 0:
T = nth_root2((power_series)^(-1), jump, prec=prec) #T is defined by power_series = 1/T^m
except:
print("no ", str(jump), "-th root; divide by", power_series.list()[0])
return (jump, power_series.list()[0])
T_rev = new_reverse(T, prec = prec)
t_old = T_rev(t^p/nth_root2(1 - t^((p-1)*jump), jump, prec=prec))
z = 1/t^(jump) + Rt(correction)(t = t_old)
return(jump, correction, t_old, z)
if jump != 0:
T_rev = new_reverse(T, prec = prec)
t_old = T_rev(t^p/nth_root2(1 - t^((p-1)*jump), jump, prec=prec))
z = 1/t^(jump) + Rt(correction)(t = t_old)
return(jump, correction, t_old, z)
if jump == 0:
aux = t^p - t
z = new_reverse(aux, prec = prec)
z = z(t = power_series)
return(0, correction, t, z)
def are_forms_linearly_dependent(set_of_forms):
from sage.rings.polynomial.toy_variety import is_linearly_dependent

View File

@ -221,14 +221,21 @@ def artin_schreier_transform(power_series, prec = 10):
power_series = power_series - (coeff*t^(-p*M) - coeff.nth_root(p)*t^(-M))
jump = max(-(power_series.valuation()), 0)
try:
T = nth_root2((power_series)^(-1), jump, prec=prec) #T is defined by power_series = 1/T^m
if jump != 0:
T = nth_root2((power_series)^(-1), jump, prec=prec) #T is defined by power_series = 1/T^m
except:
print("no ", str(jump), "-th root; divide by", power_series.list()[0])
return (jump, power_series.list()[0])
T_rev = new_reverse(T, prec = prec)
t_old = T_rev(t^p/nth_root2(1 - t^((p-1)*jump), jump, prec=prec))
z = 1/t^(jump) + Rt(correction)(t = t_old)
return(jump, correction, t_old, z)
if jump != 0:
T_rev = new_reverse(T, prec = prec)
t_old = T_rev(t^p/nth_root2(1 - t^((p-1)*jump), jump, prec=prec))
z = 1/t^(jump) + Rt(correction)(t = t_old)
return(jump, correction, t_old, z)
if jump == 0:
aux = t^p - t
z = new_reverse(aux, prec = prec)
z = z(t = power_series)
return(0, correction, t, z)
def are_forms_linearly_dependent(set_of_forms):