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