On Thu, Apr 8, 2010 at 10:01 PM, Bill Hart <goodwillh...@googlemail.com> wrote: > Here's what I think, though it's only an opinion: > > 0) It's surprising that this broke, as the new XGCD code went into > MPIR 1.2.0, which Sage already uses, but then it is not surprising as > any changes made to the XGCD code can currently change the > normalisation as no normalisation is enforced. > 1) It's unlikely we can fix this properly very quickly. I think we > have to hold this over until the next release of MPIR.
When might that next release happen? Sage-5.0 is probably the next release of Sage, and that's at least a month away. William > 2) We could write a normalisation wrapper around mpn_gcdext, but it > would slow performance, so we obviously won't do that in a release. > > What could be done is to patch mpn_gcdext (see line 1105 of > mpn/generic/gcdext.c). > > Rename this function to _mpn_gcdext and write a new mpn_gcdext (in the > same file) which calls the old one and applies the required > normalisation (see the GMP 5 documentation for details of the > normalisation which Pari likes). > > The MPIR test suite will not care that you did this, as it doesn't > test normalisation. > > If doctests still fail in Sage, fixing them will make Sage compatible > both with future versions of MPIR, where we will fix this issue > properly, and with GMP 5 and above. This means that when GMP 5 becomes > stable and when the next version of MPIR comes out, Sage ought to, in > theory, be able to swap between the two without changing xgcd > normalisation. > > We purposely didn't deal with this issue because we thought Sage was > already set up to handle the "normalisation" that MPIR had and that if > we changed it, it would break. But it looks like I was wrong. > > Bill. > > On 9 April 2010 05:40, Bill Hart <goodwillh...@googlemail.com> wrote: >> That's great that it builds now. Well done, and thanks for the effort!! >> >> Our XGCD has changed, but I don't think we define a normalisation as >> such. From the manual: >> >> "Set g to the greatest common divisor of a and b, and in addition set >> s and t to coefficients >> satisfying as + bt = g. g is always positive, even if one or both of a >> and b are negative." >> >> GMP recently changed back to their old normalisation. >> >> It looks, from the test results below that we screw up Pari anyway, so >> we have to change something, it seems. Given that GMP changed back to >> the old normalisation to support Pari, we should probably do the same. >> I'm afraid this is not an issue we can resolve easily. The XGCD code >> is very complex and it will take quite some time to rewrite it to >> handle normalisation (which it currently just doesn't do at all). >> >> Bill. >> >> On 9 April 2010 05:10, William Stein <wst...@gmail.com> wrote: >>> Hi, >>> >>> OK, after all this, the build finally completed. The only changes I made >>> were: >>> >>> * Updated mpir to rc3 >>> * patched ecm as explained here: >>> >>> http://lists.gforge.inria.fr/pipermail/ecm-discuss/2009-August/004070.html >>> (Though this had to be slightly modified -- just search for the >>> same command, which moved.) >>> >>> >>> I then ran the long Sage test suite, and some tests fail. >>> >>> http://sage.math.washington.edu/home/wstein/build/mpir2/sage-4.3.5/testlong.log >>> >>> ---------------------------------------------------------------------- >>> The following tests failed: >>> >>> >>> sage -t -long "devel/sage/doc/en/tutorial/tour_numtheory.rst" >>> sage -t -long "devel/sage/doc/fr/tutorial/tour_numtheory.rst" >>> sage -t -long "devel/sage/sage/modular/cusps.py" >>> sage -t -long "devel/sage/sage/modular/modsym/boundary.py" >>> sage -t -long "devel/sage/sage/modular/modsym/ambient.py" >>> sage -t -long "devel/sage/sage/libs/pari/gen.pyx" >>> sage -t -long "devel/sage/sage/rings/arith.py" >>> sage -t -long "devel/sage/sage/rings/integer.pyx" >>> sage -t -long >>> "devel/sage/sage/rings/polynomial/multi_polynomial_ideal.py" >>> sage -t -long "devel/sage/sage/tests/book_stein_ent.py" >>> sage -t -long "devel/sage/sage/schemes/elliptic_curves/heegner.py" >>> Total time for all tests: 7170.6 seconds >>> >>> -- >>> >>> I looked and it appears that maybe all of these are the result of the >>> XGCD behavior in MPIR changing again. Has it changed to be like GMP >>> now? That would be convenient. >>> >>> This is all now >>> >>> http://trac.sagemath.org/sage_trac/ticket/8664 >>> >>> william >>> >>> -- >>> You received this message because you are subscribed to the Google Groups >>> "mpir-devel" group. >>> To post to this group, send email to mpir-de...@googlegroups.com. >>> To unsubscribe from this group, send email to >>> mpir-devel+unsubscr...@googlegroups.com. >>> For more options, visit this group at >>> http://groups.google.com/group/mpir-devel?hl=en. >>> >>> >> > > -- > You received this message because you are subscribed to the Google Groups > "mpir-devel" group. > To post to this group, send email to mpir-de...@googlegroups.com. > To unsubscribe from this group, send email to > mpir-devel+unsubscr...@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/mpir-devel?hl=en. > > -- William Stein Associate Professor of Mathematics University of Washington http://wstein.org -- You received this message because you are subscribed to the Google Groups "mpir-devel" group. To post to this group, send email to mpir-de...@googlegroups.com. To unsubscribe from this group, send email to mpir-devel+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/mpir-devel?hl=en.