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