#11375: speed up computation of level one eisenstein series
------------------------------------------+---------------------------------
Reporter: was | Owner: craigcitro
Type: enhancement | Status: positive_review
Priority: minor | Milestone: sage-4.8
Component: modular forms | Keywords:
Work_issues: | Upstream: N/A
Reviewer: Craig Citro, William Stein | Author: William Stein,
Craig Citro
Merged: | Dependencies:
------------------------------------------+---------------------------------
Comment(by was):
Replying to [comment:4 craigcitro]:
> LGTM! Too bad my name won't appear in the hg repo for this code anymore.
;)
I'll update the author of the patch right now to have both our names on
it. That's easy with queues, of course.
> I'm really glad to see that you did #12265; I didn't want to figure out
the right way to get that in order (the FLINT QQX stuff was still in flux
when I wrote this patch IIRC), but it's what kept me from actually pushing
any harder to get it in.
>
I kept thinking of a way to do what *we* need for #11375, then thinking of
a better way, then a better way, then a better way, etc., (where better
means it will be more generally helpful to code). I ended up settling on
a pretty good solution, I think. But I deleted a lot of code on the way
there!
> Do you happen to have some timing comparisons for the actual coefficient
computation vs. the whole eisenstein_series_qexp call? I'm curious how low
the overhead is now.
>
Yes, here is an example:
{{{
sage: from sage.modular.modform.eis_series_cython import Ek_ZZ
sage: time v = Ek_ZZ(4,10^6)
Time: CPU 1.08 s, Wall: 1.08 s
sage: time f = eisenstein_series_qexp(4, 10^6)
Time: CPU 1.32 s, Wall: 1.33 s
}}}
Before it would take 1 second to compute the v, then over 4 seconds to
make the power series!
> The Py_GET_ITEM is indeed gross, but a necessary evil.
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/11375#comment:5>
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.