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 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 , 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-11-02).
@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-11-02}
}