#10973: Integral points on elliptic curves over number fields
-------------------------------------------------+-------------------------
Reporter: justin | Owner: cremona
Type: enhancement | Status:
Priority: major | needs_review
Component: elliptic curves | Milestone: sage-5.13
Keywords: sd32 | Resolution:
Authors: Justin Walker, Aly Deines, | Merged in:
Jennifer Balakrishnan | Reviewers:
Report Upstream: N/A | Work issues:
Branch: | Commit:
Dependencies: | Stopgaps:
-------------------------------------------------+-------------------------
Comment (by cremona):
I have done some debugging, not yet complete but I'll be away for a while
and wanted to record what I found so far.
2082a1: the old code is not nearly careful enough about computing
elliptic logs and periods to high enough precision, and I have worked a
bit on improving that, but in this example it reduces the coefficient
bound first from {{{10^44}}} to 34 (that looks OK to me) and then to 12,
which is not OK since the actual bound is 13. And I can see what is done
wrong: in Cohen's notation you need a lower bound on {{{d(L,0)^2}}} which
is greater than {{{T^2+Q}}}, and in this second step it is not; the code
makes an adjustment, which is not (as far as I can see) justified.
Instead one should increase the scaling parameter C. I found that
multiplying C by 100 is OK, but yields a worse bound on the coefficients,
namely 56. If one did check all 34 multiples of the generator (the rank
is 1) then that would be OK. But the new code here manages to get
successive bounds {{{10^40}}}, 53, 18 and uses 18 which works better than
34 would have done! The two implementations need further careful
comparison.
9615d1, which has rank 2. The new code finds a bound of 162, and the
apparent hanging happens when testing all multiples with coefficients up
to that bound. This is what is taking a very long time: there are 52812
points to check, and many will have huge height. This is a good
illustration of the benefit of using floating point at this stage, since
on the same curve if you run
{{{integral_points_with_bounded_mw_coeffs(E,E.gens(),162)}}} it finishes
quickly (and finds all the points, namely the 15 which Magma also finds).
On the other hand the old code obtains a coefficient bound of only 18,
which is good enough, so it is necessary to find out why the new code
does so much worse (bound 162).
I don't feel prepared to remove the "needs work" tag just yet.
--
Ticket URL: <http://trac.sagemath.org/ticket/10973#comment:45>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/groups/opt_out.