gr_mat_find_nonzero_pivot, gr_mat_find_nonzero_pivot_generic, gr_mat_find_nonzero_pivot_large_abs
#include <flint/gr_mat.h>int gr_mat_find_nonzero_pivot(slong * pivot_row, gr_mat_t mat, slong start_row, slong end_row, slong column, gr_ctx_t ctx)sourceint gr_mat_find_nonzero_pivot_generic(slong * pivot_row, gr_mat_t mat, slong start_row, slong end_row, slong column, gr_ctx_t ctx)sourceint gr_mat_find_nonzero_pivot_large_abs(slong * pivot_row, gr_mat_t mat, slong start_row, slong end_row, slong column, gr_ctx_t ctx)sourceLook for an entry that is provably nonzero in column column, in rows \mathit{start\_row} \le i < \mathit{end\_row}. On success, set *pivot_row and return GR_SUCCESS. Return GR_DOMAIN if all these entries are provably zero, and GR_UNABLE if none is provably nonzero but some cannot be decided.
The generic version takes the first provably nonzero entry; the large_abs version takes the one of largest absolute value (partial pivoting, for floating-point and ball arithmetic). gr_mat_find_nonzero_pivot calls the ring method GR_METHOD_MAT_FIND_NONZERO_PIVOT: arf, acf, nfloat and nfloat_complex use partial pivoting, and ca tries hard to decide zero tests.
The FLINT team, “gr_mat_find_nonzero_pivot, gr_mat_find_nonzero_pivot_generic, gr_mat_find_nonzero_pivot_large_abs (gr_mat.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/gr_mat/gr_mat_find_nonzero_pivot.html (generated 2026-10-20).
@misc{flint-doc-gr-mat-gr-mat-find-nonzero-pivot,
author = {{The FLINT team}},
title = {{gr\_mat\_find\_nonzero\_pivot, gr\_mat\_find\_nonzero\_pivot\_generic, gr\_mat\_find\_nonzero\_pivot\_large\_abs (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_find_nonzero_pivot.html},
note = {Generated 2026-10-20}
}