Arithmetic in Jacobians of Hyperelliptic Curves

43 views
Skip to first unread message

Zachary Scherr

unread,
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

unread,
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

unread,
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.

slelievre

unread,
Jun 22, 2021, 1:50:45 PMJun 22
to sage-support
For reference the ticket is

- Incorrect Arithmetic on Jacobians of Hyperelliptic Curves
Reply all
Reply to author
Forward
0 new messages