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