fmpz_poly_mat_fflu
#include <flint/fmpz_poly_mat.h>slong fmpz_poly_mat_fflu(fmpz_poly_mat_t B, fmpz_poly_t den, slong * perm, const fmpz_poly_mat_t A, int rank_check)sourceComputes a fraction-free LU decomposition of A in B and returns the rank r of A over \mathbb{Q}(x). den is set to the last pivot, a nonzero r \times r minor of A (1 if r = 0). Row exchanges are applied to perm if it is not NULL. Pivots are chosen with fmpz_poly_mat_find_pivot_partial. If rank_check is set, the function returns 0 with den = 0 as soon as a column without pivot is found. B may be A.
The layout is that of fmpz_mat_fflu: the fraction-free echelon form on and above the pivots, and the multipliers below them; see Fraction-free elimination.
The FLINT team, “fmpz_poly_mat_fflu (fmpz_poly_mat.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/fmpz_poly_mat/fmpz_poly_mat_fflu.html (generated 2026-10-20).
@misc{flint-doc-fmpz-poly-mat-fmpz-poly-mat-fflu,
author = {{The FLINT team}},
title = {{fmpz\_poly\_mat\_fflu (fmpz\_poly\_mat.h)}},
howpublished = {FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev},
year = {2026},
url = {https://flintlib.org/doc/fmpz_poly_mat/fmpz_poly_mat_fflu.html},
note = {Generated 2026-10-20}
}