FLINT3.7.0-dev

fmpz_mat_next_col_van_hoeij

Synopsis#include <flint/fmpz_mat.h>
int fmpz_mat_next_col_van_hoeij(fmpz_mat_t M, fmpz_t P, fmpz_mat_t col, slong exp, slong U_exp)source

One step of the knapsack lattice construction of van Hoeij's factoring algorithm [vHN2010]. Given the lattice M whose leading block U is the combinatorial part scaled by 2^{\mathit{U\_exp}}, a new column col of data modulo P and its bound 2^{\mathit{exp}}, decides whether the data carries enough information to be worth an LLL call. If not, returns 0; otherwise appends the truncated column U \cdot \mathit{col} and a row with the scaled modulus to M and returns the scaling of the new column. M is reallocated, so it must not be a window.

References#

  • [vHN2010] M. van Hoeij and A. Novocin, "Gradual sub-lattice reduction and a new complexity for factoring polynomials", LATIN 2010, Lecture Notes in Computer Science 6034 (2010), 539–553. https://doi.org/10.1007/978-3-642-12200-2_47
Cite this page

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