#12233: Cythonize elements of modular subgroups
-----------------------------+----------------------------------------------
Reporter: davidloeffler | Owner: craigcitro
Type: enhancement | Status: needs_review
Priority: major | Milestone: sage-5.0
Component: modular forms | Keywords:
Work_issues: | Upstream: N/A
Reviewer: | Author: David Loeffler
Merged: | Dependencies: #5048, #11601
-----------------------------+----------------------------------------------
Changes (by davidloeffler):
* status: needs_work => needs_review
* dependencies: => #5048, #11601
Old description:
> This patch does the following:
>
> * reimplements class
> {{{sage.modular.arithgroup.arithgroup_element.ArithmeticSubgroupElement}}}
> as a Cython extension type, resulting in considerable speed gains;
> * modifies element constructor methods for the classes in
> {{{sage.modular.arithgroup}}} for consistency with the category
> framework;
> * various small changes (mostly to {{{__cmp__}}}) that make !TestSuite
> doctests pass for all these classes.
>
> The patch adds no new methods, but speeds up arithmetic with elements of
> SL2Z and its subgroups by a factor of about 4 on my machine.
New description:
This patch does the following:
* reimplements class
{{{sage.modular.arithgroup.arithgroup_element.ArithmeticSubgroupElement}}}
as a Cython extension type, resulting in considerable speed gains;
* reimplements the methods for element construction and containment
testing for the classes in {{{sage.modular.arithgroup}}}, so they run
faster and are consistent with the category framework;
* various small changes (mostly to {{{__cmp__}}}) that make !TestSuite
tests pass for all these classes.
The patch adds no new end-user methods, but speeds up arithmetic with
elements of SL2Z and its subgroups by a factor of about 4 on my machine.
E.g. {{{ Gamma0(656).todd_coxeter()}}} goes down from 35s to 11s,
multiplication of two elements of SL2Z goes down from 7 microseconds to
3.5, and testing whether an element is in {{{Gamma0(6)}}} goes down from
90 microseconds to 5.5.
--
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/12233#comment:3>
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.