#11683: ell_curve_isogeny initialization
-------------------------------+--------------------------------------------
   Reporter:  saraedum         |          Owner:  cremona                      
       Type:  enhancement      |         Status:  needs_review                 
   Priority:  minor            |      Milestone:  sage-4.7.2                   
  Component:  elliptic curves  |       Keywords:  startup, initialization, sd32
Work_issues:                   |       Upstream:  N/A                          
   Reviewer:                   |         Author:  Julian Rueth, John Cremona   
     Merged:                   |   Dependencies:                               
-------------------------------+--------------------------------------------
Changes (by newvalueoldvalue):

  * status:  new => needs_review
  * author:  Julian Rueth => Julian Rueth, John Cremona


Old description:

> The import of sage/schemes/elliptic_curves/ell_curve_isogeny.py (which
> happens on every startup of sage) takes a relatively big amount of time
>
> {{{
> $ time ./sage -startuptime|grep ell_curve_isogeny:
>           ell_curve_isogeny: 0.133 (ell_field)
>
> real    0m0.994s
> user    0m0.810s
> sys     0m0.154s
> }}}
>
> Lazily computing the constants in this file helps a lot (see the attached
> patch):
>
> {{{
> $ time ./sage -startuptime|grep ell_curve_isogeny:
>           ell_curve_isogeny: 0.001 (ell_field)
>
> real    0m0.849s
> user    0m0.672s
> sys     0m0.164s
> }}}

New description:

 The import of sage/schemes/elliptic_curves/ell_curve_isogeny.py (which
 happens on every startup of sage) takes a relatively big amount of time

 {{{
 $ time ./sage -startuptime|grep ell_curve_isogeny:
           ell_curve_isogeny: 0.133 (ell_field)

 real    0m0.994s
 user    0m0.810s
 sys     0m0.154s
 }}}

 Lazily computing the constants in this file helps a lot (see the attached
 patch):

 {{{
 $ time ./sage -startuptime|grep ell_curve_isogeny:
           ell_curve_isogeny: 0.001 (ell_field)

 real    0m0.849s
 user    0m0.672s
 sys     0m0.164s
 }}}

 '''Apply:'''

  1. [attachment:trac_11683_ell_curve_isogeny_speedup_combined.patch]

--

Comment:

 The new patch includes the first two.  I have added doctests which show
 that the cached values are correctly computed.  At the same time I
 simplified the generic kernels a lot by using a better model for the
 universal elliptic curve with l-isogeny (you should be able to see that a
 lot more is deleted than added in the patch).

 I added substantial explanation in the docstrings.  So I hope this will be
 acceptable!  (I forgot to check rebuilding the docs, and will do that now
 to try to catch any ReST markup problems.)

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/11683#comment:12>
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.

Reply via email to