#11875: Correct general brokenness of Farey symbols
-----------------------------+----------------------------------------------
   Reporter:  davidloeffler  |          Owner:  craigcitro      
       Type:  defect         |         Status:  new             
   Priority:  major          |      Milestone:  sage-4.7.3      
  Component:  modular forms  |       Keywords:  modular subgroup
Work_issues:                 |       Upstream:  N/A             
   Reviewer:                 |         Author:                  
     Merged:                 |   Dependencies:                  
-----------------------------+----------------------------------------------
Changes (by GeorgSWeber):

 * cc: hmonien (added)


Comment:

 Hi all,

 the structural data of an arithmetic subgroup, that one needs to compute
 for the modular symbols "integrality algorithm", is more or less the same
 than what one needs for Farey symbols (for some discussion of the former,
 see http://groups.google.com/group/sage-
 nt/browse_thread/thread/a653b4498fa5cb67#).

 FWIW, I have put some "needs work" code for that (pure Python, building
 upon the existing ArithmeticSubgroup framework in Sage) at trac #10857.

 It needs quite some polishing (especially a renaming and a complete
 reordering of the functions), but works for all arithmetic subgroups,
 features examples of non-congruence subgroups (taken elsewhere from Sage),
 and for certain classes of groups (Gamma, Gamma_1, Gamma_0) there are
 special algorithms that compute this structural data in linear time
 (w.r.t. to the subgroup index in SL2Z), not quadratic time (which is the
 generic case).

 Explicitly, on my 2 GHz machine, the code there computed generators and
 coset representatives for Gamma(64) in about 17 seconds and for Gamma(128)
 in about 478 seconds.

 Since then, I didn't find the time to continue the work on that code (if I
 had free time to spare for Sage, I'd rather review #5048, sigh), or else I
 would have finished e.g. the dummy "def z_farey_symbol_data(self):" there
 ...

 My proposal for continuing with #11709 and this #11875 here, would be to
 separate off the "plotting" parts of #11709 (which I dearly would like to
 have ready in Sage), which seem to be uncontroversial, and get them into
 Sage.

 Having done that, and Hartmut and Martin still being "on fire", the next
 step might be to do the reality check, whether using C++ for computing the
 Farey symbol structural data really gives the speed advantage, worth all
 the trouble not coding these algorithms directly in Python (or Cython).

 Please don't get me wrong, you have my greatest respect for executing the
 addition of a new cpp file to the Sage library! There are probably lots of
 places in the Sage development documentation that could benefit from this
 experience, think not only of the last necessary patches from Leif, but
 also all this "module_list.py" stuff, let alone the .rst documentation
 (kudos to you for including pictures!!), and what not ...

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