FLINT3.7.0-dev

gr_mat_find_nonzero_pivot, gr_mat_find_nonzero_pivot_generic, gr_mat_find_nonzero_pivot_large_abs

Synopsis#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)source
int 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)source
int 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)source

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

Cite this page

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