Skip to content

Latest commit

 

History

28 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AffChab2

Computing S-integral points via the Affine Chabauty method: examples of hyperelliptic and superelliptic curves

Sage code for the paper "Affine Chabauty II" [LL26]

The file SupEllInt.sage defines a class for curves of the form $y^3 = x^3 + ax^2 + x$ and a function coleman_integrals_on_basis to compute Coleman integrals of the logarithmic differentials $dx/y^2$, $x dx/y^2$, $dx/y$. The file ExSupEll.sage contains the Affine Chabauty computations for the $\mathbb{Z}[1/487]$-points on the curve with parameter $a = 1$. It determines an annihilating log differential for the auxiliary prime $p=7$ and reduction type $(1 : 232 : 0) \bmod 487$, verifies its vanishing on the point $(216/487, 438/487)$, and computes the zero locus away from the residue discs with $x \equiv -1 \bmod p$, providing the computations for Example 5.3 of [LL26]. The auxiliary prime and reduction type can be changed in the file. The file ExHyp.sage computes the Chabauty locus for the integral points on the hyperelliptic curve

$$ y^2 = x^6 + 2x^5 - 7x^4 - 18x^3 + 2x^2 + 20x + 9, $$

showing [LL26], Theorem 5.2.

To run the code, place the Sage files in the working directory and call sage ExSupEll.sage or sage ExHyp.sage. One also needs the code from https://github.com/jbalakrishnan/AWS to compute Coleman integrals (rebuilding Sage is usually not necessary) and the file Zproots.sage from https://github.com/martinluedtke/RefinedCK to compute roots of p-adic polynomials. The code was tested on Sage 10.8.

The output of ExSupEll.sage should look as follows:

Curve: y^3 = x^3 + x^2 + x
base point: P₀ = (0, 0)
Mordell—Weil generator: A - P₀ with A = (1/18, 7/18)
auxiliary prime: 7
precision: 10
S = {487}
reduction type: (1 : 232 : 0) mod 487

Basis of log differentials: ω₁ = dx/y^2,  ω₂ = x dx/y^2,  ω₃ = dx/y

Annihilating log differential ω = a₁ω₁ + a₂ω₂ + a₃ω₃ has coefficients
  a₁ = 1 + O(7^8)
  a₂ = 2 + 6*7 + 2*7^2 + 3*7^3 + 4*7^5 + 5*7^6 + 2*7^7 + O(7^8)
  a₃ = 2*7 + 6*7^2 + 2*7^5 + 4*7^7 + 6*7^8 + O(7^9)

Value of Chabauty function ∫_P₀^P ω on P = (216/487, 438/487):
  O(7^9)

Computing Chabauty locus...
residue disc (0, 0) mod 7:
  (0, 0)
residue disc (2, 0) mod 7:
  (2 + 4*7 + 6*7^2 + 3*7^3 + 2*7^5 + 6*7^6 + 2*7^7 + 4*7^8 + 3*7^9 + O(7^10), O(7^9))
residue disc (4, 0) mod 7:
  (4 + 2*7 + 3*7^3 + 6*7^4 + 4*7^5 + 4*7^7 + 2*7^8 + 3*7^9 + O(7^10), O(7^9))
residue disc (5, 1) mod 7:
  (216/487, 438/487)
residue disc (5, 2) mod 7:
  (5 + 3*7 + 4*7^2 + 7^3 + 6*7^4 + 3*7^5 + 2*7^7 + 6*7^8 + O(7^9), 2 + 4*7 + 7^2 + 2*7^3 + 5*7^4 + 5*7^5 + 4*7^6 + 4*7^7 + O(7^9))
residue disc (5, 4) mod 7:
  (5 + 3*7 + 6*7^2 + 4*7^3 + 4*7^4 + 3*7^5 + 4*7^8 + O(7^9), 4 + 2*7 + 6*7^3 + 4*7^4 + 2*7^5 + 3*7^6 + 6*7^7 + 4*7^8 + O(7^9))
skipping bad residue disc (6, 3) mod 7
skipping bad residue disc (6, 5) mod 7
skipping bad residue disc (6, 6) mod 7

Chabauty locus contains 2 known points and 4 extra points.

The output of ExHyp.sage should look as follows:

Curve: y^2 = x^6 + 2*x^5 - 7*x^4 - 18*x^3 + 2*x^2 + 20*x + 9
base point: P₀ = (-1, 1)
Mordell—Weil generators: (0, 3)-P₀, (1, 3)-P₀
auxiliary prime: 7
precision: 15
Basis of log differentials: ω₀ = dx/y,  ω₁ = x dx/y,  ω₂ = x² dx/y

Annihilating log differential ω = a₀ω₀ + a₁ω₁ + a₂ω₂ has coefficients
    a0 = 1 + O(7^14)
    a1 = 5 + 3*7 + 3*7^2 + 5*7^3 + 3*7^4 + 2*7^6 + 2*7^7 + 7^8 + 4*7^9 + 3*7^10 + 5*7^11 + 5*7^12 + 6*7^13 + O(7^14)
    a2 = 5 + 6*7 + 6*7^2 + 7^3 + 4*7^4 + 6*7^5 + 5*7^6 + 3*7^7 + 4*7^8 + 2*7^9 + 6*7^10 + 3*7^12 + 4*7^13 + O(7^14)

Check that the function ρ(P) = ∫_P₀^P ω vanishes on all known points:
    ρ((-1, 1)) = 0
    ρ((0, 3)) = O(7^15)
    ρ((1, 3)) = O(7^15)
    ρ((-2, 3)) = O(7^15)
    ρ((-4, 37)) = O(7^15)
    ρ((-1, -1)) = O(7^15)
    ρ((0, -3)) = O(7^15)
    ρ((1, -3)) = O(7^15)
    ρ((-2, -3)) = O(7^15)
    ρ((-4, -37)) = O(7^15)

The function vanishes on integral points but not necessarily on rational points:
    ρ((-1/2, 9/8)) = 5*7 + 5*7^2 + 2*7^3 + 6*7^4 + 4*7^5 + 6*7^6 + 3*7^7 + 7^8 + 2*7^9 + 7^10 + 4*7^11 + 5*7^12 + 5*7^13 + 4*7^14 + O(7^15)
    ρ((-13/6, 743/216)) = 3*7 + 5*7^2 + 6*7^3 + 5*7^4 + 2*7^6 + 5*7^9 + 7^11 + 6*7^12 + 5*7^14 + O(7^15)

Computing Chabauty locus...
residue disc (0, 4) mod 7:
  (0, -3)
residue disc (0, 3) mod 7:
  (0, 3)
residue disc (1, 4) mod 7:
  (1, -3)
residue disc (1, 3) mod 7:
  (1, 3)
residue disc (3, 5) mod 7:
  (-4, -37)
residue disc (3, 2) mod 7:
  (-4, 37)
residue disc (5, 4) mod 7:
  (-2, -3)
residue disc (5, 3) mod 7:
  (-2, 3)
residue disc (6, 6) mod 7:
  (-1, -1)
residue disc (6, 1) mod 7:
  (-1, 1)

Chabauty locus contains 10 known points and 0 extra points.

Authors

  • Marius Leonhardt
  • Martin Lüdtke

References

  • [LL26] M. Leonhardt, Martin Lüdtke, "Affine Chabauty II" (arXiv)

About

Computing S-integral points via the Affine Chabauty method: hyperelliptic and superelliptic curves

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages