fmpz_mod_mat_lu
#include <flint/fmpz_mod_mat.h>slong fmpz_mod_mat_lu(slong * P, fmpz_mod_mat_t A, int rank_check, const fmpz_mod_ctx_t ctx)sourceComputes a generalised LU decomposition of in place and returns the rank of . P must have room for as many entries as has rows; it receives the row permutation. A wrapper of gr_mat_lu.
If is a nonsingular square matrix, it is overwritten with a unit lower triangular matrix (whose diagonal is not stored) and an upper triangular matrix . For a matrix of rank , is in row echelon form with nonzero rows, and is lower triangular, truncated to columns, with implicit ones on its first diagonal entries.
If rank_check is nonzero, the function gives up as soon as is found to be rank-deficient, returns 0 and leaves in an undefined state.
Guides#
The FLINT team, “fmpz_mod_mat_lu (fmpz_mod_mat.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/fmpz_mod_mat/fmpz_mod_mat_lu.html (generated 2026-11-02).
@misc{flint-doc-fmpz-mod-mat-fmpz-mod-mat-lu,
author = {{The FLINT team}},
title = {{fmpz\_mod\_mat\_lu (fmpz\_mod\_mat.h)}},
howpublished = {FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev},
year = {2026},
url = {https://flintlib.org/doc/fmpz_mod_mat/fmpz_mod_mat_lu.html},
note = {Generated 2026-11-02}
}