fmpz_lll_is_reduced_d, fmpz_lll_is_reduced_mpfr, fmpz_lll_is_reduced_d_with_removal, fmpz_lll_is_reduced_mpfr_with_removal
#include <flint/fmpz_lll.h>int fmpz_lll_is_reduced_d(const fmpz_mat_t B, const fmpz_lll_t fl)sourceint fmpz_lll_is_reduced_mpfr(const fmpz_mat_t B, const fmpz_lll_t fl, flint_bitcnt_t prec)sourceint fmpz_lll_is_reduced_d_with_removal(const fmpz_mat_t B, const fmpz_lll_t fl, const fmpz_t gs_B, int newd)sourceint fmpz_lll_is_reduced_mpfr_with_removal(const fmpz_mat_t B, const fmpz_lll_t fl, const fmpz_t gs_B, int newd, flint_bitcnt_t prec)sourceReturns 1 if B is proven to be reduced (in the sense of fmpz_mat_is_reduced, fmpz_mat_is_reduced_gram or their removal versions, according to fl->rt), and 0 if the test is inconclusive. The _d versions work in double arithmetic, the _mpfr versions with nfloat numbers of prec bits; both use directed rounding to obtain rigorous error bounds.
For a basis, these follow Villard's certification of the QR factor [Villard2007]: an approximate QR decomposition and an approximate inverse of R, with rigorous bounds on their errors computed with upward and downward rounding, give intervals for the Gram–Schmidt coefficients on which the conditions are checked. For a Gram matrix, an approximate Cholesky decomposition is checked in the same way. The _d versions require fenv.h and return 0 without it; they also return 0 if an entry exceeds the range of double. The removal versions take gs_B and newd as in fmpz_mat_is_reduced_with_removal.
References#
- [Villard2007] Villard, Gilles : Certification of the QR Factor R and of Lattice Basis Reducedness, In proceedings of ACM International Symposium on Symbolic and Algebraic Computation (2007) 361–368 ACM Press.
The FLINT team, “fmpz_lll_is_reduced_d, fmpz_lll_is_reduced_mpfr, fmpz_lll_is_reduced_d_with_removal, fmpz_lll_is_reduced_mpfr_with_removal (fmpz_lll.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/fmpz_lll/fmpz_lll_is_reduced_d.html (generated 2026-10-20).
@misc{flint-doc-fmpz-lll-fmpz-lll-is-reduced-d,
author = {{The FLINT team}},
title = {{fmpz\_lll\_is\_reduced\_d, fmpz\_lll\_is\_reduced\_mpfr, fmpz\_lll\_is\_reduced\_d\_with\_removal, fmpz\_lll\_is\_reduced\_mpfr\_with\_removal (fmpz\_lll.h)}},
howpublished = {FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev},
year = {2026},
url = {https://flintlib.org/doc/fmpz_lll/fmpz_lll_is_reduced_d.html},
note = {Generated 2026-10-20}
}