#11709: FareySymbol
-------------------------------+--------------------------------------------
    Reporter:  hmonien         |         Owner:  craigcitro                 
        Type:  enhancement     |        Status:  closed                     
    Priority:  major           |     Milestone:  sage-4.7.2                 
   Component:  modular forms   |    Resolution:  fixed                      
    Keywords:  Farey symbol    |   Work_issues:                             
    Upstream:  N/A             |      Reviewer:  Martin Raum, Leif Leonhardy
      Author:  Hartmut Monien  |        Merged:  sage-4.7.2.alpha3          
Dependencies:                  |  
-------------------------------+--------------------------------------------
Changes (by leif):

  * reviewer:  Martin Raum => Martin Raum, Leif Leonhardy


Old description:

> !FareySymbol is a '''fast''' implementation of the '''KFarey''' package
> for Sage.
>
> The major changes done by me:
>
>  * created an object oriented coherent class interface
>
>  * implemented a C++ module with pyx interface
>
> !FareySymbol allows the calculation of properties of a general arithmetic
> subgroup.  The use with the congruence subgroups Gamma0, Gamma1, GammaH
> is trivial. For a group not implemented in Sage, the "user" has to define
> a class with a `__contains__(self, M)` attribute which returns `True` or
> `False` depending on `M` being in the group or not.
>
> The calculation of the generators, coset representation and genus of
> Gamma(32) takes 62.5 seconds on my laptop. Try this with Magma ... .
>
> {{{
> sage: time FareySymbol(Gamma(32))
> FareySymbol(Congruence Subgroup Gamma(32))
> Time: CPU 62.50 s, Wall: 62.52 s
> }}}
>
> ----
>
> Apply
>   1. [attachment:trac-11709_farey_symbol-v6.patch]
>   1. [attachment:trac_11709-add_hpp_files_to_manifest.reviewer.patch]
> to the Sage library.

New description:

 !FareySymbol is a '''fast''' implementation of the '''KFarey''' package
 for Sage.

 The major changes done by me:

  * created an object oriented coherent class interface

  * implemented a C++ module with pyx interface

 !FareySymbol allows the calculation of properties of a general arithmetic
 subgroup.  The use with the congruence subgroups Gamma0, Gamma1, GammaH is
 trivial. For a group not implemented in Sage, the "user" has to define a
 class with a `__contains__(self, M)` attribute which returns `True` or
 `False` depending on `M` being in the group or not.

 The calculation of the generators, coset representation and genus of
 Gamma(32) takes 62.5 seconds on my laptop. Try this with Magma ... .

 {{{
 sage: time FareySymbol(Gamma(32))
 FareySymbol(Congruence Subgroup Gamma(32))
 Time: CPU 62.50 s, Wall: 62.52 s
 }}}

 ----

 Apply
   1. [attachment:trac-11709_farey_symbol-v6.patch]
   1. [attachment:trac_11709-tag_file_containing_non-
 ascii_chars.reviewer.patch]
   1. [attachment:trac_11709-add_hpp_files_to_manifest.reviewer.patch]
 to the Sage library.

--

Comment:

 Attached another patch adding "`# -*- coding: UTF-8 -*-`", because one
 file contains non-ASCII characters, which leads to:
 {{{
 ...
 Updating modification times for the documentation...
 sage -docbuild --update-mtimes reference html
 ...
 Traceback (most recent call last):
 ...
     from farey_symbol import Farey as FareySymbol
   File "farey_symbol.pyx", line 42, in init
 sage.modular.arithgroup.farey_symbol
 (sage/modular/arithgroup/farey_symbol.cpp:4918)
   File ".../local/lib/python2.6/site-
 packages/sage/modular/arithgroup/noncongruence_example.py", line 35
 SyntaxError: Non-ASCII character '\xe2' in file .../local/lib/python2.6
 /site-packages/sage/modular/arithgroup/noncongruence_example.py on line
 36, but no encoding declared; see http://www.python.org/peps/pep-0263.html
 for details
 ...
 }}}

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