#6583: Implement two descent over QQ natively in Sage using ratpoints
-------------------------------+--------------------------------------------
Reporter: rlm | Owner: rlm
Type: enhancement | Status: needs_review
Priority: major | Milestone: sage-4.3
Component: elliptic curves | Keywords:
Work_issues: | Author: Robert Miller
Upstream: N/A | Reviewer:
Merged: |
-------------------------------+--------------------------------------------
Changes (by rlm):
* upstream: => N/A
Comment:
Here's an example where mwrank does not do a second descent, where the
runtime is approximately 90 times faster:
{{{
sage: E = EllipticCurve('676a1')
sage: from sage.schemes.elliptic_curves.descent_two_isogeny import
two_descent_by_two_isogeny
sage: timeit('two_descent_by_two_isogeny(E)')
125 loops, best of 3: 2.83 ms per loop
sage: A = E.mwrank_curve()
sage: timeit('A.two_descent(verbose=False)')
5 loops, best of 3: 252 ms per loop
}}}
I ran the following to compare times in general:
{{{
sage: for E in cremona_optimal_curves(range(200)):
... if E.torsion_order()%2 == 0:
... t = walltime()
... E.mwrank_curve().two_descent(verbose=False,
second_descent=False)
... t = walltime(t)
... s = walltime()
... _ = two_descent_by_two_isogeny(E)
... s = walltime(s)
}}}
mwrank is always slower by a factor of at least 5, almost always slower by
a factor of at least 20, and frequently slower by factors of up to 150.
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/6583#comment:11>
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 post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/sage-trac?hl=en.