FLINT3.7.0-dev

fmpz_mat_det_divisor

Synopsis#include <flint/fmpz_mat.h>
void fmpz_mat_det_divisor(fmpz_t d, const fmpz_mat_t A)source

Sets dd to a divisor of the determinant of the square matrix AA, which is likely to be its largest invariant factor and hence close to the determinant, or to 0 if AA is singular.

The function solves Ax=bAx = b for b=(−1,1,−1,1,…)Tb = (-1, 1, -1, 1, \ldots)^T by pp-adic lifting (fmpz_mat_solve_dixon), reconstructs the entries of xx as fractions (Rational reconstruction) and returns the least common multiple of their denominators, which divides the largest invariant factor of AA and hence det⁡(A)\det(A) [AbbottBronsteinMulders1999; Pan1988].

References#

  • [AbbottBronsteinMulders1999] Fast deterministic computation of determinants of dense matrices, ACM International Symposium on Symbolic and Algebraic Computation (1999)
  • [Pan1988] V. Pan, "Computing the determinant and the characteristic polynomial of a matrix via solving linear systems of equations", Information Processing Letters 28:2 (1988), 71–75. https://doi.org/10.1016/0020-0190(88)90166-4
Cite this page

The FLINT team, “fmpz_mat_det_divisor (fmpz_mat.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/fmpz_mat/fmpz_mat_det_divisor.html (generated 2026-11-02).