#4525: [with patch, needs review] LLL-reduction of elliptic curve bases (with
resulting speed enhancement to integral_points())
---------------------------+------------------------------------------------
 Reporter:  cremona        |       Owner:  was           
     Type:  enhancement    |      Status:  new           
 Priority:  major          |   Milestone:  sage-3.2.1    
Component:  number theory  |    Keywords:  elliptic curve
---------------------------+------------------------------------------------
 The integral_points() function for elliptic curves can be speeded up if
 the Mordell-Weil basis used is first LLL-reduced, since this increases the
 minimal eigenvalue of the height-pairing matrix.  The patch achieves this.
 For example, before:
 {{{
 sage: E = EllipticCurve([0, 1, 1, -2, 42])
 sage: E.gens()
 [(-4 : 1 : 1), (-3 : 5 : 1), (-11/4 : 43/8 : 1), (-2 : 6 : 1)]
 sage: time len(E.integral_points())
 CPU times: user 42.67 s, sys: 0.48 s, total: 43.15 s
 Wall time: 43.50 s
 24
 }}}
 and after:
 {{{
 sage: E = EllipticCurve([0, 1, 1, -2, 42])
 sage: E.gens()
 [(-4 : 1 : 1), (-3 : 5 : 1), (-11/4 : 43/8 : 1), (-2 : 6 : 1)]
 sage: time len(E.integral_points())
 CPU times: user 8.18 s, sys: 0.12 s, total: 8.29 s
 Wall time: 8.37 s
 24
 }}}
 (i.e. speedup by a factor of 5) and for a rank 5 example I had a speedup
 factor of 50.

 I implemented the LLL-reduction via pari's lllgram function, in a separate
 function lll_reduce() since it will be useful elsewhere.  There is a case
 for applying it whenever we compute generators (since, for example, mwrank
 does not LLL-reduce its generators, because the mwrank code has no access
 to a floating point LLL routine!) but I have not done that -- many doctest
 would need changing as generators would change.

 The doctests include a long one on a curve of rank 24, which adds 2m to
 the -long doctest time.  If that is too long it could be deleted.

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/4525>
Sage <http://sagemath.org/>
Sage - Open Source Mathematical Software: Building the Car Instead of 
Reinventing the Wheel
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to