fmpz_lll_wrapper, fmpz_lll_wrapper_with_removal, fmpz_lll_wrapper_with_removal_knapsack
#include <flint/fmpz_lll.h>int fmpz_lll_wrapper(fmpz_mat_t B, fmpz_mat_t U, const fmpz_lll_t fl)sourceint fmpz_lll_wrapper_with_removal(fmpz_mat_t B, fmpz_mat_t U, const fmpz_t gs_B, const fmpz_lll_t fl)sourceint fmpz_lll_wrapper_with_removal_knapsack(fmpz_mat_t B, fmpz_mat_t U, const fmpz_t gs_B, const fmpz_lll_t fl)sourceReduces B with the cheapest strategy that succeeds: fmpz_lll_d (or fmpz_lll_d_with_removal, fmpz_lll_d_with_removal_knapsack); if it fails or the result is not reduced, fmpz_lll_d_heuristic (or its removal version), but only for Z_BASIS input with Gram type APPROX; and finally fmpz_lll_mpf (or fmpz_lll_mpf_with_removal). Returns the value of the last strategy run.
Reducedness is checked with fmpz_lll_is_reduced at 53 bits (respectively fmpz_lll_is_reduced_with_removal at 120 bits), which is always conclusive, so the result of the wrappers is reduced.
The FLINT team, “fmpz_lll_wrapper, fmpz_lll_wrapper_with_removal, fmpz_lll_wrapper_with_removal_knapsack (fmpz_lll.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/fmpz_lll/fmpz_lll_wrapper.html (generated 2026-10-20).
@misc{flint-doc-fmpz-lll-fmpz-lll-wrapper,
author = {{The FLINT team}},
title = {{fmpz\_lll\_wrapper, fmpz\_lll\_wrapper\_with\_removal, fmpz\_lll\_wrapper\_with\_removal\_knapsack (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_wrapper.html},
note = {Generated 2026-10-20}
}