FLINT3.7.0-dev

ca_mat_nonsingular_solve_adjugate, ca_mat_nonsingular_solve_fflu, ca_mat_nonsingular_solve_lu, ca_mat_nonsingular_solve

Synopsis#include <flint/ca_mat.h>
truth_t ca_mat_nonsingular_solve_adjugate(ca_mat_t X, const ca_mat_t A, const ca_mat_t B, ca_ctx_t ctx)source
truth_t ca_mat_nonsingular_solve_fflu(ca_mat_t X, const ca_mat_t A, const ca_mat_t B, ca_ctx_t ctx)source
truth_t ca_mat_nonsingular_solve_lu(ca_mat_t X, const ca_mat_t A, const ca_mat_t B, ca_ctx_t ctx)source
truth_t ca_mat_nonsingular_solve(ca_mat_t X, const ca_mat_t A, const ca_mat_t B, ca_ctx_t ctx)source

For a square matrix A: if A is proved nonsingular, sets X = A^{-1} B and returns T_TRUE; returns T_FALSE if A is proved singular and T_UNKNOWN if this cannot be decided.

The adjugate version computes X = \operatorname{adj}(A) B / \det(A) (see ca_mat_adjugate), which needs only one zero test, of the determinant. The fflu and lu versions use fraction-free or ordinary LU decomposition followed by triangular solving; the lu version is a wrapper of gr_mat_nonsingular_solve_lu. The default version currently uses the lu version.

Cite this page

The FLINT team, “ca_mat_nonsingular_solve_adjugate, ca_mat_nonsingular_solve_fflu, ca_mat_nonsingular_solve_lu, ca_mat_nonsingular_solve (ca_mat.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/ca_mat/ca_mat_nonsingular_solve_adjugate.html (generated 2026-10-20).