NTL is a high-performance, portable C++ library providing data
structures and algorithms for arbitrary length integers; for vectors,
matrices, and polynomials over the integers and over finite fields;
and for arbitrary precision floating point arithmetic.

NTL provides high quality implementations of state-of-the-art algorithms for:

   o arbitrary length integer arithmetic and arbitrary precision
     floating point arithmetic;
   o polynomial arithmetic over the integers and finite fields
     including basic arithmetic, polynomial factorization,
     irreducibility testing, computation of minimal polynomials,
     traces, norms, and more;
   o lattice basis reduction, including very robust and fast
     implementations of Schnorr-Euchner, block Korkin-Zolotarev
     reduction, and the new Schnorr-Horner pruning heuristic for block
     Korkin-Zolotarev;
   o basic linear algebra over the integers, finite fields, and
     arbitrary precision floating point numbers.

NTL is free software, and may be used according to the terms of the
GNU General Public License.

Homepage:
https://www.shoup.net/ntl/
