# Arithmetic in Jacobians of Hyperelliptic Curves

43 views

### Zachary Scherr

Jun 19, 2021, 9:18:50 PMJun 19
to sage-support
Hi,

I believe that I found a disagreement between Sage and Magma in the following calculations:

Sage:

R.<x> = QQ[]
f = 144*x^6 - 240*x^5 + 148*x^4 + 16*x^3 - 16*x^2 - 4*x + 1
H = HyperellipticCurve(f)
J = Jacobian(H)
P = J(H(0,1))-J(H(0,-1))
(5*P).is_zero()

returns True

Magma:

R<x> := PolynomialRing(Rationals());
f := 144*x^6 - 240*x^5 + 148*x^4 + 16*x^3 - 16*x^2 - 4*x + 1;
H := HyperellipticCurve(f);
J := Jacobian(H);
P := H![0,1] - H![0,-1];
IsZero(5*P);

returns false.

I have reason to believe that the point P is not torsion and so Magma is correct and Sage is incorrect.  I don't know enough about the algorithms used to work with points on hyperelliptic Jacobians and so I'm not confident in my ability to track down what's going on.

### Kwankyu

Jun 20, 2021, 7:32:47 AMJun 20
to sage-support
Hi,

On Sunday, June 20, 2021 at 10:18:50 AM UTC+9 zsc...@gmail.com wrote:
I have reason to believe that the point P is not torsion and so Magma is correct and Sage is incorrect.  I don't know enough about the algorithms used to work with points on hyperelliptic Jacobians and so I'm not confident in my ability to track down what's going on.

By my own computation, I confirm that Sage is incorrect. Looking at the Sage source code, I see that Sage uses Cantor's reduction algorithm based on Mumford representation of divisors by ideals. Sage wrongly computes 5*P to (1) unit ideal. So I guess there seems a bug in the implementation of Cantor's algorithm...

### Zachary Scherr

Jun 21, 2021, 11:32:00 AMJun 21
to sage-support
Thanks!  I can try to investigate, but in the meantime I will open a ticket for this on trac.