diff --git a/as_covers/as_form_class.sage b/as_covers/as_form_class.sage index 8cb3df4..fab6a99 100644 --- a/as_covers/as_form_class.sage +++ b/as_covers/as_form_class.sage @@ -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): diff --git a/drafty/draft2.sage b/drafty/draft2.sage index 9819a93..a1e0de9 100644 --- a/drafty/draft2.sage +++ b/drafty/draft2.sage @@ -1,10 +1,10 @@ p = 3 -F = GF(3) +F = GF(3^2, 'a') Rx. = 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) \ No newline at end of file +a1, b1, c1 = heisenberg_group_action_matrices_holo(C) \ No newline at end of file diff --git a/heisenberg_covers/heisenberg_form_class.sage b/heisenberg_covers/heisenberg_form_class.sage index 186d96e..f4737f6 100644 --- a/heisenberg_covers/heisenberg_form_class.sage +++ b/heisenberg_covers/heisenberg_form_class.sage @@ -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 diff --git a/quaternion_covers/quaternion_form_class.sage b/quaternion_covers/quaternion_form_class.sage index 270b6d4..8881442 100644 --- a/quaternion_covers/quaternion_form_class.sage +++ b/quaternion_covers/quaternion_form_class.sage @@ -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):