On Fri, Mar 2, 2012 at 9:12 AM, daveloeffler <dave.loeff...@gmail.com> wrote:
> On Mar 2, 2:48 pm, "Georg S. Weber" <georgswe...@googlemail.com>
> wrote:
>>
>> But the "no binary objects whatsoever" criticism from Harald is
>> justified (due to the mercurial history, even erasing .png files later
>> will not help --- the increase in size will last forever), as well as
>> the question of maintainability.
>
> There are already a couple of images in the documentation of the
> "homology" Sage module that nobody has complained about so far. I
> don't think this is an issue. I wouldn't want to read documentation of
> the
>
>> Frankly, I see no benefit in having these new parts being coded in C/C+
>> + compared to using the already existing Python/Cython framework of
>> ArithmeticSubgroups. To the contrary, the C/C++ code seems to use
>> internally C/C++ int's for the entries of the 2x2 matrices and is thus
>> vulnerable w.r.t. overflow issues --- on 32bit platforms earlier than
>> on 64bit platforms (one could have easily used e.g. int64_t's instead,
>> but the basic problem remains). Whereas the current Sage code uses
>> internally fast arbitrary precision Integer arithmetic.
>
> This last statement is false: lots of functions in sage/modular/
> arithgroup/congroup_pyx.pyx use C ints for speed,

This assertion may be slightly misleading.    There are two functions
in congroup_pyx.pyx that use C ints for speed, both of which I wrote
for purposes of modular symbols computations (computing degeneracy
maps).  Neither of these functions seem to be used anywhere else in
the sage/modular/arithgroup directory.   No other code in that
directory uses C ints as far as I can tell.  The existing
ArithmeticSubgroups elements are implemented using this:

  from sage.matrix.matrix_integer_2x2 import Matrix_integer_2x2 as mi2x2

which is built on MPIR (written by I think Robert Bradshaw).

> I don't think anyone's likely to be computing modular
> symbols of level too big to fit in an int any time soon -- the
> execution time and memory requirements get unmanageable long before
> integer overflow rears its head.

Silly remark: There is of course much more to working with GL2 than
just computing modular symbols; one can do all kinds of things that
can easily involve matrices in such groups whose entries are large.

 -- William


-- 
William Stein
Professor of Mathematics
University of Washington
http://wstein.org

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org

Reply via email to