padic_radix_mat_nonsingular_solve, padic_radix_mat_inv
#include <flint/padic_radix.h>int padic_radix_mat_nonsingular_solve(gr_mat_t X, const gr_mat_t A, const gr_mat_t B, gr_ctx_t ctx)sourceSet (respectively ), returning GR_DOMAIN if is singular and GR_UNABLE if this cannot be decided. The algorithm is Gauss-Jordan elimination with full pivoting by valuation levels on : at each level the pivot block (as in padic_radix_mat_det_levels) is applied to its rows, and its columns are eliminated from all the other rows, including the pivot rows of the previous levels, with one matrix product. This order of operations (that of Gauss-Jordan elimination with full pivoting) gives every entry of the solution with the optimal precision, that of the differential ; LU decompositions with column pivots and back substitution lose some digits when is not invertible modulo . When is invertible modulo for the minimal valuation of its entries, all pivots have valuation and the generic LU solve (with the pivots of padic_radix_mat_find_nonzero_pivot) is used directly, as it is always with the context flag PADIC_RADIX_FAST_LINALG. These functions implement the generic methods gr_mat_nonsingular_solve and gr_mat_inv.
The FLINT team, “padic_radix_mat_nonsingular_solve, padic_radix_mat_inv (padic_radix.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/padic_radix/padic_radix_mat_nonsingular_solve.html (generated 2026-11-02).
@misc{flint-doc-padic-radix-padic-radix-mat-nonsingular-solve,
author = {{The FLINT team}},
title = {{padic\_radix\_mat\_nonsingular\_solve, padic\_radix\_mat\_inv (padic\_radix.h)}},
howpublished = {FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev},
year = {2026},
url = {https://flintlib.org/doc/padic_radix/padic_radix_mat_nonsingular_solve.html},
note = {Generated 2026-11-02}
}