#17578: Use Parent/Element for Manin symbols
-------------------------------------+-------------------------------------
       Reporter:  pbruin             |        Owner:
           Type:  defect             |       Status:  needs_review
       Priority:  major              |    Milestone:  sage-6.5
      Component:  modular forms      |   Resolution:
       Keywords:  Manin symbol       |    Merged in:
        Authors:  Peter Bruin,       |    Reviewers:  Travis Scrimshaw
  Travis Scrimshaw                   |  Work issues:
Report Upstream:  N/A                |       Commit:
         Branch:                     |  286e4756e2bb1e5657611d505ec5d7d6f99f3c36
  u/pbruin/17578-ManinSymbol_Parent_Element|     Stopgaps:
   Dependencies:                     |
-------------------------------------+-------------------------------------
Changes (by {'newvalue': u'Peter Bruin, Travis Scrimshaw', 'oldvalue': u'Peter 
Bruin'}):

 * commit:  57a425901538723e212815ab1e84908ff992cf40 =>
     286e4756e2bb1e5657611d505ec5d7d6f99f3c36
 * dependencies:  #17579 =>
 * branch:  u/tscrim/manin_symbol_parent-17578 =>
     u/pbruin/17578-ManinSymbol_Parent_Element
 * author:  Peter Bruin => Peter Bruin, Travis Scrimshaw


Old description:

> The classes `ManinSymbolList` and `ManinSymbol` (in
> `sage.modular.modsym.manin_symbols`) do not inherit from `Parent` and
> `Element`.  This causes trouble when applying both #10513 and #10962.

New description:

 The classes `ManinSymbolList` and `ManinSymbol` (in
 `sage.modular.modsym.manin_symbols`) do not inherit from `Parent` and
 `Element`.  We fix this and make `ManinSymbolList` a parent in the
 category `FiniteEnumeratedSets`.

 To prevent a measurable slowdown, the class `ManinSymbol` is converted to
 Cython.

 This is a dependency of #10513.

--

Comment:

 Here is a new branch incorporating my original fix, Travis's improvements,
 and a restructuring of the module `sage.modular.modsym.manin_symbols` into
 two new modules `sage.modular.modsym.manin_symbol` (Cython) and
 `sage.modular.modsym.manin_symbol` (Python).

 The creation of the list in Travis's example goes down from 191 µs to 150
 µs on the system on which I tested this.

 (I have decided to rebase my branch; it has been inactive for months and I
 wanted to start with a clean slate.  In particular, I found the duplicate
 commits in the Git history extremely annoying.)

--
Ticket URL: <http://trac.sagemath.org/ticket/17578#comment:15>
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 unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.

Reply via email to