Emmanuel Thomé — Software


Research Software

Here is some research software I have written. These are quite actively developed:

  • cado-nfs ; an implementation of the number field sieve algorithm. (Joint work with many people). Cado-nfs is a complete implementation of the number field sieve, which includes state-of-the-art implementations for the various parts of the algorithm, notably:
    • Polynomial selection, using Kleinjung's algorithm from 2008 ;
    • Lattice sieving ;
    • Linear algebra, using the block Wiedemann algorithm, with simultaneous POSIX multithreading and MPI capabilities.
    My personal contribution is largest on the linear algebra part, the sieving part, and the overall architecture.
  • gf2x ; a library for multiplying binary polynomials. (Joint work with R. Brent, P. Gaudry, P. Zimmermann)
  • mpfq ; Perl code for generating C header files for fast finite field arithmetic. (Joint work with P. Gaudry)
  • cmh ; this software provides two things.
    • A library for computing theta-constants associated to a given period matrix over the complex numbers, in quasi-linear time in the required precision.
    • An executable program implementating the complex analytic method for the computation of Igusa class polynomials. This implementation uses the software library above.
    cmh is joint work with A. Enge.

In constrast, the following libraries are quite old, and are no longer developed:

  • mploc ; a library for computing with p-adic rings.
  • matlingen (obsolete, link no longer available) ; software for computing generating polynomials of matrix sequence over large prime fields. Functionality is now completely superseded by the plingen code in cado-nfs. For usage instructions, please drop me a mail.

More Software