#5731: Update NTL to 5.5.2 release (latest upstream)
---------------------------------------------+------------------------------
   Reporter:  mabshoff                       |          Owner:              
       Type:  enhancement                    |         Status:  needs_review
   Priority:  major                          |      Milestone:  sage-4.7.1  
  Component:  packages                       |       Keywords:  upgrade     
Work_issues:                                 |       Upstream:  N/A         
   Reviewer:  Francois Bissey, John Cremona  |         Author:  Martin Raum 
     Merged:                                 |   Dependencies:              
---------------------------------------------+------------------------------
Changes (by newvalueoldvalue):

  * status:  needs_work => needs_review
  * reviewer:  => Francois Bissey, John Cremona
  * author:  => Martin Raum


Old description:

> From http://www.shoup.net/ntl/doc/tour-changes.html (03.09.2010):
>
> == 2009.08.14: Changes between NTL 5.5.1 and 5.5.2 ==
>
>  * New routines {{{MulAddTo}}} and {{{MulSubFrom}}} for computing {{{x +=
> a*b}}} and {{{x -= a*b}}}, where {{{x}}} and {{{a}}} are {{{ZZ}}}'s and
> {{{b}}} is a {{{ZZ}}} or a {{{long}}}. In the case where {{{b}}} is a
> {{{long}}}, this may be much faster than writing {{{mul(t, a, b); add(x,
> x, t)}}}. See [http://www.shoup.net/ntl/doc/ZZ.txt ZZ.txt] for details.
> These new routines are used in a number of places in NTL to get faster
> algorithms (for example, the {{{LLL}}} routine).
>  * Fixed a relatively benign indexing bug in {{{GF2EX}}} discovered by
> Berend-Benjamin Tams using the {{{valgrind}}} tool.
>

> == 2009.05.05: Changes between NTL 5.5 and 5.5.1 ==
>
>  * If using GMP (via either {{{NTL_GMP_LIP}}} or {{{NTL_GMP_HACK}}}),
> then the new version (4.3.0) of GMP implements the {{{XGCD}}}
> functionality differently, so that the coefficients do not always agree
> with those returned by the classical extended Euclidean algorithm. This
> version of NTL corrects the coefficients, so that the "classical"
> coefficients are always produced, regardless of GMP's implementation.
> This version of NTL also works around a bug in GMP 4.3.0's {{{XGCD}}}
> code (although that bug should be fixed in GMP 4.3.1).
>  * The {{{configure}}} script has been slightly modified: there is a new
> configuration variable {{{DEF_PREFIX}}}, whose value can be used to set
> {{{PREFIX}}}, {{{GMP_PREFIX}}}, and {{{GF2X_PREFIX}}} in one stroke.
> Also, the (somewhat esoteric) {{{configure}}} variables {{{GMP_LIBDIR}}},
> {{{GMP_INCDIR}}}, {{{GF2X_LIBDIR}}}, and {{{GF2X_INCDIR}}} have slightly
> different meanings now.
>

> == 2009.04.08: Changes between NTL 5.4.2 and 5.5 ==
>
>  * Added the ability to generate a ''shared'' library (with help from Tim
> Abbott). [http://www.shoup.net/ntl/doc/tour-unix.html#shared Details.]
>  * Fixed some standardization issues (with help from Tim Abbott): default
> location of installed documentation files now conforms to standards; use
> of {{{EOF}}} now conforms to standards.
>  * Added a callback mechanism to NTL's error reporting function. See
> {{{ErrorCallback}}} in [http://www.shoup.net/ntl/doc/tools.txt
> tools.txt].
>  * Added support for the {{{gf2x}}} library for speeding up arithmetic in
> {{{GF2X}}} (with help from Emmanuel Thomé). [http://www.shoup.net/ntl/doc
> /tour-gf2x.html Details.]
>  * In conjuction with the above, I also changed the {{{GF2X}}} so that it
> works better with very large polynomials: large blocks of memory are
> released, recursive HalfGCD algorithms are used for large polynomials.
>  * Fixed a bug in {{{void TraceMod(zz_p& x, const zz_pX& a, const
> zz_pXModulus& F)}}} (reported by Luca De Feo).
>  * Fixed a performance issue in various versions of {{{SetCoeff}}}
> (reported by Luca De Feo).
>  * Fixed the declaration of {{{mat_zz_p transpose(const mat_zz_p& a)}}}
> (reported by Benoit Lacelle).
>
> ----
>
> So we should be able to drop a couple custom patches.
>
> Cheers,
>
> Michael
>
> ----
>
> The current version in Sage (4.5.3) is NTL 5.4.2[.p12].

New description:

 From http://www.shoup.net/ntl/doc/tour-changes.html (03.09.2010):

 == 2009.08.14: Changes between NTL 5.5.1 and 5.5.2 ==

  * New routines {{{MulAddTo}}} and {{{MulSubFrom}}} for computing {{{x +=
 a*b}}} and {{{x -= a*b}}}, where {{{x}}} and {{{a}}} are {{{ZZ}}}'s and
 {{{b}}} is a {{{ZZ}}} or a {{{long}}}. In the case where {{{b}}} is a
 {{{long}}}, this may be much faster than writing {{{mul(t, a, b); add(x,
 x, t)}}}. See [http://www.shoup.net/ntl/doc/ZZ.txt ZZ.txt] for details.
 These new routines are used in a number of places in NTL to get faster
 algorithms (for example, the {{{LLL}}} routine).
  * Fixed a relatively benign indexing bug in {{{GF2EX}}} discovered by
 Berend-Benjamin Tams using the {{{valgrind}}} tool.


 == 2009.05.05: Changes between NTL 5.5 and 5.5.1 ==

  * If using GMP (via either {{{NTL_GMP_LIP}}} or {{{NTL_GMP_HACK}}}), then
 the new version (4.3.0) of GMP implements the {{{XGCD}}} functionality
 differently, so that the coefficients do not always agree with those
 returned by the classical extended Euclidean algorithm. This version of
 NTL corrects the coefficients, so that the "classical" coefficients are
 always produced, regardless of GMP's implementation. This version of NTL
 also works around a bug in GMP 4.3.0's {{{XGCD}}} code (although that bug
 should be fixed in GMP 4.3.1).
  * The {{{configure}}} script has been slightly modified: there is a new
 configuration variable {{{DEF_PREFIX}}}, whose value can be used to set
 {{{PREFIX}}}, {{{GMP_PREFIX}}}, and {{{GF2X_PREFIX}}} in one stroke. Also,
 the (somewhat esoteric) {{{configure}}} variables {{{GMP_LIBDIR}}},
 {{{GMP_INCDIR}}}, {{{GF2X_LIBDIR}}}, and {{{GF2X_INCDIR}}} have slightly
 different meanings now.


 == 2009.04.08: Changes between NTL 5.4.2 and 5.5 ==

  * Added the ability to generate a ''shared'' library (with help from Tim
 Abbott). [http://www.shoup.net/ntl/doc/tour-unix.html#shared Details.]
  * Fixed some standardization issues (with help from Tim Abbott): default
 location of installed documentation files now conforms to standards; use
 of {{{EOF}}} now conforms to standards.
  * Added a callback mechanism to NTL's error reporting function. See
 {{{ErrorCallback}}} in [http://www.shoup.net/ntl/doc/tools.txt tools.txt].
  * Added support for the {{{gf2x}}} library for speeding up arithmetic in
 {{{GF2X}}} (with help from Emmanuel Thomé). [http://www.shoup.net/ntl/doc
 /tour-gf2x.html Details.]
  * In conjuction with the above, I also changed the {{{GF2X}}} so that it
 works better with very large polynomials: large blocks of memory are
 released, recursive HalfGCD algorithms are used for large polynomials.
  * Fixed a bug in {{{void TraceMod(zz_p& x, const zz_pX& a, const
 zz_pXModulus& F)}}} (reported by Luca De Feo).
  * Fixed a performance issue in various versions of {{{SetCoeff}}}
 (reported by Luca De Feo).
  * Fixed the declaration of {{{mat_zz_p transpose(const mat_zz_p& a)}}}
 (reported by Benoit Lacelle).

 ----

 So we should be able to drop a couple custom patches.

 Cheers,

 Michael

 ----

 The current version in Sage (4.5.3) is NTL 5.4.2[.p12].


 New spkg: [http://spkg-upload.googlecode.com/files/ntl-5.5.2.spkg]

--

Comment:

 New spkg upload on google-code, link in updated description. Let's get a
 final sign off on this.

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/5731#comment:12>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sage-trac?hl=en.

Reply via email to