#5731: Update NTL to 5.5.2 release (latest upstream)
---------------------------+------------------------------------------------
   Reporter:  mabshoff     |       Owner:          
       Type:  enhancement  |      Status:  new     
   Priority:  major        |   Milestone:  sage-4.6
  Component:  packages     |    Keywords:  upgrade 
     Author:               |    Upstream:  N/A     
   Reviewer:               |      Merged:          
Work_issues:               |  
---------------------------+------------------------------------------------
Changes (by leif):

  * keywords:  => upgrade
  * owner:  mabshoff =>
  * type:  defect => enhancement
  * milestone:  sage-4.5.3 => sage-4.6


Old description:

> 2009.04.08: Changes between NTL 5.4.2 and 5.5 from
> http://www.shoup.net/ntl/doc/tour-changes.html
>
>  * Added the ability to generate a shared library (with help from Tim
> Abbott).
>  * Fixed some standardization issues (with help from Tim Abbot): 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 tools.txt.
>  * Added support for the gf2x library for speeding up arithmetic in GF2X
> (with help from Emmanuel Thomé).
>  * 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

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].

--

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/5731#comment:3>
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