sagemath / sage

Main repository of SageMath
https://www.sagemath.org
Other
1.37k stars 462 forks source link

bugs in integral_points for elliptic curves over QQ #27015

Open JohnCremona opened 5 years ago

JohnCremona commented 5 years ago

The code for computing all integral points on elliptic curves over QQ has bugs, some due to incorrect formulas in the literature. For example:

sage: E = EllipticCurve('2082a1')
sage: E.integral_points()
[(-11 : 29 : 1), (-2 : 29 : 1), (4 : 11 : 1), (13 : 29 : 1)]
sage: E([507525709, 11433453531221, 1])
(507525709 : 11433453531221 : 1)

This curve has rank 1 and trivial torsion, generator P=(13,-43) and the integral points are kP for k=1,2,3,4 and 13 (and their negatives). We miss 13P because the upper bound computed is only 12 (as seen with verbose=True).

10973 implements integral points on elliptic curves over arbitrary number fields, and also provides a fix for this bug since it work over QQ (the branch at #10973 has the integral_points() method over QQ call the general one). However the code there is slow over QQ (and relies on some incorrect though published assumptions). Hence there is a case for fixing the bugs over QQ independently of the general implementation, and that will be done here.

Component: elliptic curves

Keywords: integral points

Author: John Cremona

Issue created by migration from https://trac.sagemath.org/ticket/27015

JohnCremona commented 5 years ago
comment:1

The complete list of missed points with Sage 8.5, for curves in database_cremona_ellcurve (i.e. all curves of conductor<400000) is: 12 points on 11 curves: 1701d1, 1848f1, 2082a1, 3510n1, 6514b1, 177211a1, 23808e1, 268740c1, 285928a1, 66432f1, 92554e1, missing 1 point in each case except 2 points on 1848f1.

embray commented 5 years ago
comment:2

Ticket retargeted after milestone closed (if you don't believe this ticket is appropriate for the Sage 8.8 release please retarget manually)

embray commented 5 years ago
comment:3

As the Sage-8.8 release milestone is pending, we should delete the sage-8.8 milestone for tickets that are not actively being worked on or that still require significant work to move forward. If you feel that this ticket should be included in the next Sage release at the soonest please set its milestone to the next release milestone (sage-8.9).