diff --git a/as_covers/as_form_class.sage b/as_covers/as_form_class.sage index bbcf4bd..22c042b 100644 --- a/as_covers/as_form_class.sage +++ b/as_covers/as_form_class.sage @@ -97,6 +97,7 @@ class as_form: RxyzQ, Rxyz, x, y, z = C.fct_field # We need to have only polynomials to use monomial_coefficients in linear_representation_polynomials, # and sometimes basis elements have denominators. Thus we multiply by them. + print([denominator(omega.form) for omega in basis]) denom = LCM([denominator(omega.form) for omega in basis]) basis = [denom*omega for omega in basis] self_with_no_denominator = denom*self diff --git a/as_covers/tests/as_cover_test.sage b/as_covers/tests/as_cover_test.sage index d0e9d6a..15ddb7d 100644 --- a/as_covers/tests/as_cover_test.sage +++ b/as_covers/tests/as_cover_test.sage @@ -1,14 +1,16 @@ p = 5 m = 2 -Rx. = PolynomialRing(GF(p)) +F = GF(p^2, 'a') +a = F.gens()[0] +Rx. = PolynomialRing(F) f = x^3 + x^2 + 1 C_super = superelliptic(f, m) Rxy. = PolynomialRing(GF(p), 2) fArS1 = superelliptic_function(C_super, y*x) fArS2 = superelliptic_function(C_super, y*x^2) -fArS3 = superelliptic_function(C_super, y) -AS1 = as_cover(C_super, [fArS1, fArS2, fArS3], prec=500) -AS2 = as_cover(C_super, [fArS2, fArS3, fArS1], prec=500) +fArS3 = superelliptic_function(C_super, y + x) +AS1 = as_cover(C_super, [fArS1, fArS2, fArS3], prec=150) +AS2 = as_cover(C_super, [fArS2, fArS3, fArS1], prec=150) print(AS1.genus() == AS2.genus()) ################## p = 5 @@ -19,7 +21,6 @@ C_super = superelliptic(f, m) Rxy. = PolynomialRing(GF(p), 2) fArS1 = superelliptic_function(C_super, y*x) fArS2 = superelliptic_function(C_super, y*x^2) -fArS3 = superelliptic_function(C_super, y) -AS1 = as_cover(C_super, [fArS1, fArS2, fArS3], prec=1000) +AS1 = as_cover(C_super, [fArS1, fArS2], prec=1000) omega = as_form(AS1, 1/y) -print(omega.expansion_at_infty().valuation() == AS1.exponent_of_different()) \ No newline at end of file +print(omega.expansion_at_infty().valuation()==AS1.exponent_of_different()) \ No newline at end of file diff --git a/drafty/draft.sage b/drafty/draft.sage deleted file mode 100644 index 936c85f..0000000 --- a/drafty/draft.sage +++ /dev/null @@ -1,7 +0,0 @@ -p = 5 -F = GF(p).algebraic_closure('t') -#F1 = F.algebraic_closure('t') -a = F.gen(2) -R. = PolynomialRing(F) -P1 = superelliptic(x, 1) -AS = as_cover(P1, [P1.x^2, a*P1.x^2]) \ No newline at end of file diff --git a/init.sage b/init.sage index fa50c9c..9b4b3b1 100644 --- a/init.sage +++ b/init.sage @@ -27,4 +27,11 @@ load('auxilliaries/hensel.sage') load('auxilliaries/linear_combination_polynomials.sage') load('auxilliaries/laurent_analytic_part.sage') ############## -############## \ No newline at end of file +############## +def init(lista, tests = False, init=True): + if init: + load('init.sage') + for i in lista: + load('drafty/draft'+str(i)+'.sage') + if tests: + load('tests.sage') \ No newline at end of file diff --git a/superelliptic/superelliptic_class.sage b/superelliptic/superelliptic_class.sage index c99a16c..8ecb44f 100644 --- a/superelliptic/superelliptic_class.sage +++ b/superelliptic/superelliptic_class.sage @@ -264,8 +264,9 @@ def reduction(C, g): G = coff(g, d) i = floor(d/m) g = g - G*y1^d + Rx(f(x=x1)^i) * y1^(d%m) *G - - return(Fxy(g(x1=x, y1 = y))) + x, y = Fxy.gens() + h = Fxy(g(x1 = x, y1 = y)) + return(h) def reduction_form(C, g): '''Auxilliary. Given a superelliptic curve C : y^m = f(x) and a polynomial g(x, y) @@ -287,8 +288,8 @@ def reduction_form(C, g): g = FxRy(g(x = x1, y=y1)) for j in range(0, m): if j==0: - G = coff(g, 0) - g1 += FxRy(G(x=x1)) + G = Rx(coff(g, 0)) + g1 += FxRy(G) else: G = coff(g, j) g1 += y1^(j-m)*FxRy(f(x=x1)*G) diff --git a/superelliptic/superelliptic_form_class.sage b/superelliptic/superelliptic_form_class.sage index 1575ebf..4332557 100644 --- a/superelliptic/superelliptic_form_class.sage +++ b/superelliptic/superelliptic_form_class.sage @@ -106,9 +106,7 @@ class superelliptic_form: Rx. = PolynomialRing(F) Fx = FractionField(Rx) FxRy. = PolynomialRing(Fx, 1) - print('a') g = FxRy(g(x = x, y = y1)) - print('b') if j == 0: return g.monomial_coefficient(y1^(0))/C.polynomial return g.monomial_coefficient(y1^(m-j)) diff --git a/superelliptic/tests/pth_root_test.sage b/superelliptic/tests/pth_root_test.sage index d135731..9ec1a53 100644 --- a/superelliptic/tests/pth_root_test.sage +++ b/superelliptic/tests/pth_root_test.sage @@ -8,4 +8,8 @@ g = (C.x)^5 * (C.y)^2 + 2*(C.x)^2 * (C.y)^3 g = g^p print(g.pth_root()==(C.x)^5 * (C.y)^2 + 2*(C.x)^2 * (C.y)^3) g = C.x -print(g.pth_root()) \ No newline at end of file +try: + print(g.pth_root()) + print("False") +except ValueError: + print("True") \ No newline at end of file diff --git a/tests.sage b/tests.sage index 9570b7f..e80d7b3 100644 --- a/tests.sage +++ b/tests.sage @@ -9,23 +9,23 @@ load('superelliptic/tests/pth_root_test.sage') #load('superelliptic/tests/p_rank_test.sage') print("a-number test:") load('superelliptic/tests/a_number_test.sage') -print("as_cover_test:") -load('as_covers/tests/as_cover_test.sage') -#print("group_action_matrices_test:") -#load('as_covers/tests/group_action_matrices_test.sage') -#print("dual_element_test:") -#load('as_covers/tests/dual_element_test.sage') -#print("ith_component_test:") -#load('as_covers/tests/ith_component_test.sage') -#print("ith ramification group test:") -#load('as_covers/tests/ith_ramification_gp_test.sage') -#print("uniformizer test:") -#load('as_covers/tests/uniformizer_test.sage') -#print("ramification jumps test:") -#load('as_covers/tests/ramification_jumps_test.sage') -#print("diffn_test:") -#load('as_covers/tests/diffn_test.sage') -#print("Cartier test:") -#load('as_covers/tests/cartier_test.sage') -#print("Decomposition into g0, g8/ omega0, omega8 test:") -#load('superelliptic_drw/tests/decomposition_into_g0_g8_tests.sage') \ No newline at end of file +#print("as_cover_test:") +#load('as_covers/tests/as_cover_test.sage') +print("group_action_matrices_test:") +load('as_covers/tests/group_action_matrices_test.sage') +print("dual_element_test:") +load('as_covers/tests/dual_element_test.sage') +print("ith_component_test:") +load('as_covers/tests/ith_component_test.sage') +print("ith ramification group test:") +load('as_covers/tests/ith_ramification_gp_test.sage') +print("uniformizer test:") +load('as_covers/tests/uniformizer_test.sage') +print("ramification jumps test:") +load('as_covers/tests/ramification_jumps_test.sage') +print("diffn_test:") +load('as_covers/tests/diffn_test.sage') +print("Cartier test:") +load('as_covers/tests/cartier_test.sage') +print("Decomposition into g0, g8/ omega0, omega8 test:") +load('superelliptic_drw/tests/decomposition_into_g0_g8_tests.sage') \ No newline at end of file