FLINT3.7.0-dev

arb_mat_solve_tril_classical, arb_mat_solve_tril_recursive, arb_mat_solve_tril, arb_mat_solve_triu_classical, arb_mat_solve_triu_recursive, arb_mat_solve_triu

Synopsis#include <flint/arb_mat.h>
void arb_mat_solve_tril_classical(arb_mat_t X, const arb_mat_t L, const arb_mat_t B, int unit, slong prec)source
void arb_mat_solve_tril_recursive(arb_mat_t X, const arb_mat_t L, const arb_mat_t B, int unit, slong prec)source
void arb_mat_solve_tril(arb_mat_t X, const arb_mat_t L, const arb_mat_t B, int unit, slong prec)source
void arb_mat_solve_triu_classical(arb_mat_t X, const arb_mat_t U, const arb_mat_t B, int unit, slong prec)source
void arb_mat_solve_triu_recursive(arb_mat_t X, const arb_mat_t U, const arb_mat_t B, int unit, slong prec)source
void arb_mat_solve_triu(arb_mat_t X, const arb_mat_t U, const arb_mat_t B, int unit, slong prec)source

Solve LX = B for a lower triangular L, respectively UX = B for an upper triangular U, by substitution. Only the relevant triangle is read; the diagonal must not contain zero (not checked; otherwise the output is not finite). If unit is nonzero, the diagonal is taken to be all ones and is not read. The recursive versions use block substitution with matrix products; the defaults use them when B has at least 40 rows and 40 columns.

Cite this page

The FLINT team, “arb_mat_solve_tril_classical, arb_mat_solve_tril_recursive, arb_mat_solve_tril, arb_mat_solve_triu_classical, arb_mat_solve_triu_recursive, arb_mat_solve_triu (arb_mat.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/arb_mat/arb_mat_solve_tril_classical.html (generated 2026-10-20).