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

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

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

- The Youpla LaTeX package. This is now deprecated, even I use beamer (note that Youpla predated beamer by several years).
- An OpenGL-Gtk2+ rubik's cube widget.
- A Sudoku puzzle solver.