Opened 12 years ago

Closed 10 years ago

#5731 closed enhancement (fixed)

Update NTL to 5.5.2 release (latest upstream)

Reported by: mabshoff Owned by:
Priority: major Milestone: sage-4.7.1
Component: packages: standard Keywords: upgrade
Cc: cremona Merged in: sage-4.7.1.alpha3
Authors: Martin Raum Reviewers: François Bissey, John Cremona
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Status badges

Description (last modified by fbissey)

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 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). 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 tools.txt.
  • Added support for the gf2x library for speeding up arithmetic in GF2X (with help from Emmanuel Thomé). 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

Attachments (1)

ntl-5.5.2.p1.spkg (597.3 KB) - added by mraum 10 years ago.

Download all attachments as: .zip

Change History (17)

comment:1 Changed 12 years ago by mabshoff

  • Description modified (diff)
  • Status changed from new to assigned

comment:2 Changed 11 years ago by ylchapuy

  • Report Upstream set to N/A
  • Summary changed from Update NTL to 5.5 release (latest upstream) to Update NTL to 5.5.2 release (latest upstream)

comment:3 Changed 11 years ago by leif

  • Description modified (diff)
  • Keywords upgrade added
  • Milestone changed from sage-4.5.3 to sage-4.6
  • Owner changed from mabshoff to (none)
  • Type changed from defect to enhancement

comment:4 Changed 10 years ago by cremona

  • Cc cremona added

Changed 10 years ago by mraum

comment:5 Changed 10 years ago by mraum

  • Status changed from new to needs_review

This works for me with all long tests.

comment:6 Changed 10 years ago by fbissey

two things.

  • trac is not a place to attach spkg.
  • why is it .p1? It should just be ntl-5.5.2.spkg

Other than that I have no doubts that it works out of the box personally, and you save me from creating a spkg.

comment:7 Changed 10 years ago by cremona

Installed fine for me on top of 4.7.alpha1, and all tests passed. (ubuntu linux 64-bit).

Note that since several other spkgs use NTL (for example, eclib), someone should check that they all build ok. One way to do this would be to put the spkg into the next alpha and let the automatic testing system see what happens.

comment:8 Changed 10 years ago by fbissey

I have been using ntl-5.5.2 in sage-on-gentoo since

     Mon Nov  9 10:55:35 2009 >>> dev-libs/ntl-5.5.2
       merge time: 10 minutes and 27 seconds.                                                                                       

the following depend on ntl:

  • flint
  • singular
  • linbox
  • eclib
  • sage (through c_lib and several extensions so sage -ba is required)

I have rebuild/updated all of those since 2009 so I don't expect any shocking results.

comment:9 Changed 10 years ago by fbissey

  • Milestone changed from sage-4.7 to sage-4.7.1

I am putting this for 4.7.1. Hopefully I'll find the time to give a proper review.

comment:10 Changed 10 years ago by fbissey

  • Status changed from needs_review to needs_work

OK I had a closer look at the spkg. First of SPKG.txt hasn't been updated, the hg repo looks ok so I suppose you only changed the content of the src directory. This need a bit of work. I may elect to do the finishing bits if I have time this week.

comment:11 Changed 10 years ago by fbissey

So I have looked more closely. You updated the patches and everything but didn't update the info in SPKG.txt. What I will do is update SPKG.txt with your details make a nice ntl-5.5.2.spkg and post it on google-code and I will put myself and John Cremona as reviewer.

Once that's done can you have a quick check and put it to positive review John?

comment:12 Changed 10 years ago by fbissey

  • Authors set to Martin Raum
  • Description modified (diff)
  • Reviewers set to Francois Bissey, John Cremona
  • Status changed from needs_work to needs_review

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

comment:13 Changed 10 years ago by fbissey

  • Reviewers changed from Francois Bissey, John Cremona to François Bissey, John Cremona

comment:14 follow-up: Changed 10 years ago by cremona

I am checking this now.

John

comment:15 in reply to: ↑ 14 Changed 10 years ago by cremona

  • Status changed from needs_review to positive_review

Replying to cremona:

I am checking this now.

John

I started with a fresh build of 4.7.1.alpha0 which passes all tests; built the new spkg here (with SAGE_CHECK=yes"); did "sage -ba" followed by "sage -t -long", and all tests pass.

The spkg itself is ok (though there's a typo "numbery" in the README, and William should probably not be the only spkg maintainer listed), so I am giving this a positive review and hop that it can go into the next alpha form 4.7.1.

comment:16 Changed 10 years ago by jdemeyer

  • Merged in set to sage-4.7.1.alpha3
  • Resolution set to fixed
  • Status changed from positive_review to closed
Note: See TracTickets for help on using tickets.