gr_mat_reduce_row, gr_mat_reduce_row_generic
#include <flint/gr_mat.h>int gr_mat_reduce_row(slong * column, gr_mat_t A, slong * P, slong * L, slong m, gr_ctx_t ctx)sourceint gr_mat_reduce_row_generic(slong * column, gr_mat_t A, slong * P, slong * L, slong m, gr_ctx_t ctx)sourceReduces row m of A by the previous rows, which are assumed to be in Gauss form though not necessarily in order, as needed for incremental elimination (minimal polynomials). Entry i of P is the row of A with a pivot in column i, or -1; entry i of L is the number of possibly nonzero columns of row i (all equal to the number of columns unless A is zero on the right), with nondecreasing entries. On return, column is the column of the new pivot of row m (the first available column from the left, also recorded in P), or -1 if the row reduces to zero.
gr_mat_reduce_row calls the ring method GR_METHOD_MAT_REDUCE_ROW; fmpz_mod, mpn_mod, fq and fq_nmod override the default to delay modular reductions.
The FLINT team, “gr_mat_reduce_row, gr_mat_reduce_row_generic (gr_mat.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/gr_mat/gr_mat_reduce_row.html (generated 2026-10-20).
@misc{flint-doc-gr-mat-gr-mat-reduce-row,
author = {{The FLINT team}},
title = {{gr\_mat\_reduce\_row, gr\_mat\_reduce\_row\_generic (gr\_mat.h)}},
howpublished = {FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev},
year = {2026},
url = {https://flintlib.org/doc/gr_mat/gr_mat_reduce_row.html},
note = {Generated 2026-10-20}
}