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 of 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 of P is the row of with a pivot in column , or ; entry of L is the number of possibly nonzero columns of row (all equal to the number of columns unless is zero on the right), with nondecreasing entries. On return, column is the column of the new pivot of row (the first available column from the left, also recorded in P), or 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-11-02).
@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-11-02}
}