Ah, this was only fixed in GMP 4.3.2. That's where my confusion lay.
This was only a recent thing.

Bill.

On 9 April 2010 06:07, Bill Hart <goodwillh...@googlemail.com> wrote:
> Actually, I should have checked this, but it seems the latest GMP in
> the 4.x.y series also has the normalisation that GMP 5 has. I'mnot
> sure where I got confused, but I thought only 5 had it. Apologies for
> the incorrect info.
>
> Bill.
>
> On 9 April 2010 06:01, 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.
>> 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.

Reply via email to