FLINT3.7.0-dev

fmpz_lll_with_removal_ulll

Synopsis#include <flint/fmpz_lll.h>
int fmpz_lll_with_removal_ulll(fmpz_mat_t FM, fmpz_mat_t UM, slong new_size, const fmpz_t gs_B, const fmpz_lll_t fl)source

Reduces FM with the truncation strategy: while the entries have more than new_size bits, the lattice (I \mid \lfloor \mathit{FM}/2^e \rfloor), with e chosen to leave new_size bits, is reduced with fmpz_lll_wrapper_with_removal_knapsack and its transformation applied to FM; then FM itself is reduced. Returns the number of vectors kept, as fmpz_lll_with_removal. UM captures the transformation as in the other functions. For GRAM input no truncation is done.

The truncation is repeated while it is effective: until the transformation found is the identity or the entries shrink by less than new_size/4 bits. See Truncation: ULLL.

Cite this page

The FLINT team, “fmpz_lll_with_removal_ulll (fmpz_lll.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/fmpz_lll/fmpz_lll_with_removal_ulll.html (generated 2026-10-20).