FLINT 2.1 released

Skip to first unread message

Bill Hart

Mar 9, 2011, 8:25:41 PM3/9/11
to sage-...@googlegroups.com, flint-devel
Hi all,

We are pleased to announce the release of flint 2.1. It can be
obtained at the flint website:


For those who want to go straight to the benchmarking pr0n (missing
times are estimated to vary up to at least 6 MONTHS -- we think this
is the first time flint may be 7 million times faster than an existing


The flint library provides highly optimised functionality for linear
algebra, polynomial arithmetic, special functions, integer arithmetic
and some other functionality in support of number theory computations.
The documentation is available at:


A large number of new functions have been added, including many power
series functions and expansions of such for special functions. These
additions to the library are due to Fredrik Johansson.

The documentation has also been carefully proofread and correct,
mostly by Sebastian Pancratz.

Ralf Hemmecke suggested a number of improvements to the build system
of flint. A couple of these suggestions have been implemented by Bill

Here is a complete list of changes:

* Simplified interface for fast multimodular reduction and CRT reconstruction
* Fixed segmentation fault in fmpz_multi_mod_ui when the input
exceeds the product of the moduli
* Added simple incremental CRT functions (fmpz_CRT_ui,
fmpz_CRT_ui_unsigned) to complement the existing fast ones
* Added example programs for CRT
* Added random number generators designed for testing modular code
(fmpz_randtest_mod, fmpz_randtest_mod_signed)
* Added fmpz_fdiv_ui for remainder on division by an unsigned long
* Added fmpz_bin_uiui for computing binomial coefficients
* Added fmpz_mul2_uiui and fmpz_divexact2_uiui for multiplying or
dividing an fmpz by a pair of ulongs (efficiently when their product
fits in a single limb)

* Added utility functions for basic arithmetic and creating unit matrices
* Added multimodular determinant computation (certified or heuristic)
* Added support for computing right nullspaces (fmpz_mat_kernel).
Fast only for small matrices.
* Some internal code cleanup and various small fixes

* Faster Gaussian elimination for small moduli
* Faster determinants
* Faster matrix inversion and nonsingular solving

* Added nmod_poly_integral for computing integrals
* Added fast square root and inverse square root of power series
* Added fast transcendental functions of power series (log, exp,
sin, cos, tan, sinh, cosh, tanh, asin, atan, asinh, atanh)
* Made nmod_poly_inv_series_newton more memory efficient

* Added fmpq_poly_integral for computing integrals
* Added fast transcendental functions of power series (log, exp,
sin, cos, tan, sinh, cosh, tanh, asin, atan, asinh, atanh)

* Made computation of vectors of Bernoulli numbers faster
* Added fast computation of single Bernoulli numbers
* Added a separate function for computing denominators of Bernoulli numbers
* Added fast computation of Bell numbers (vector and single)
* Added fast computation of Euler numbers (vector and single)
* Added fast computation of Euler polynomials
* Added fast computation of Swinnerton-Dyer polynomials
* Added fast computation of Legendre polynomials
* Added fast vector computation of the partition function
* Added fast vector computation of Landau's function

* Added a function for computing factorials mod n

build system
* Added support for building static and shared libraries
* All object files and test/profile/example binaries now build in
separate build directory

* Large number of corrections

Reply all
Reply to author
0 new messages