FLINT3.7.0-dev

gr_mat_reduce_row, gr_mat_reduce_row_generic

Synopsis#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)source
int gr_mat_reduce_row_generic(slong * column, gr_mat_t A, slong * P, slong * L, slong m, gr_ctx_t ctx)source

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

Cite this page

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