FLINT3.7.0-dev

fmpz_mod_mat_solve_tril, fmpz_mod_mat_solve_triu

Synopsis#include <flint/fmpz_mod_mat.h>
void fmpz_mod_mat_solve_tril(fmpz_mod_mat_t X, const fmpz_mod_mat_t L, const fmpz_mod_mat_t B, int unit, const fmpz_mod_ctx_t ctx)source
void fmpz_mod_mat_solve_triu(fmpz_mod_mat_t X, const fmpz_mod_mat_t U, const fmpz_mod_mat_t B, int unit, const fmpz_mod_ctx_t ctx)source

Set X = L^{-1} B, respectively X = U^{-1} B, for a square lower (upper) triangular matrix whose diagonal entries are invertible; if unit is nonzero, the diagonal is taken to be 1 and not read. Only the lower (upper) triangle is read. X may alias B. Wrappers of gr_mat_nonsingular_solve_tril and gr_mat_nonsingular_solve_triu, which choose between substitution and a block recursive algorithm; they throw an exception if a diagonal entry is not invertible.

Guides#

Cite this page

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