On 5 March 2013 06:54, Peng Tian <tianpeng.ch...@gmail.com> wrote: > Dear David, > You are right. I tried to change the data type of the code in sage, which is > "int" type in the source code of SAGE and now I'm using "long int" instead. > The previous error is gone and everything is working well now. > > Thanks a lot! > > Best regards! > Peng >
Dear Peng, Using long ints is a sound temporary fix, I guess. It would have the side-effect of making the small N cases slightly slower and more memory-hungry, so it might be best to have two separate functions in the code, one using ints and the other longs, and choose between them according to whether N^2 > 2^{31} or not; we already do similar things for some other related functions, e.g lift_to_sl2z(). You could even write a patch for this and upload it to Sage's trac server; then that'll prevent anyone else having this problem in the future. In an ideal world we'd also want a third implementation that uses MPIR arbitrary-precision integers; this will be necessary when N is *really* big, i.e. N^2 > 2^{63}. But I suspect that nobody's going to be calculating Heilbronn matrices for such big N for a long while yet. David -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel?hl=en. For more options, visit https://groups.google.com/groups/opt_out.