FLINT3.7.0-dev

mpn_mod_mat_nonsingular_solve_tril, mpn_mod_mat_nonsingular_solve_triu

Synopsis#include <flint/mpn_mod.h>
int mpn_mod_mat_nonsingular_solve_tril(gr_mat_t X, const gr_mat_t L, const gr_mat_t B, int unit, gr_ctx_t ctx)source
int mpn_mod_mat_nonsingular_solve_triu(gr_mat_t X, const gr_mat_t U, const gr_mat_t B, int unit, gr_ctx_t ctx)source

Solve LX = B or UX = B for a triangular matrix with invertible diagonal (unit diagonal, not read, if unit is nonzero), choosing gr_mat_nonsingular_solve_tril_classical (resp. _triu_) when B has fewer rows or columns than a cutoff depending on \ell (700 for \ell = 2, 200 for \ell = 3, down to 20 for \ell \ge 12), and the block recursive versions otherwise, whose products use mpn_mod_mat_mul.

Cite this page

The FLINT team, “mpn_mod_mat_nonsingular_solve_tril, mpn_mod_mat_nonsingular_solve_triu (mpn_mod.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/mpn_mod/mpn_mod_mat_nonsingular_solve_tril.html (generated 2026-10-20).