FLINT3.7.0-dev

fmpz_poly_mat_fflu

Synopsis#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)source

Computes 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.

Cite this page

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).