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 d to a divisor of the determinant of the square matrix A, which is likely to be its largest invariant factor and hence close to the determinant, or to 0 if A is singular.

The function solves Ax = b for b = (-1, 1, -1, 1, \ldots)^T by p-adic lifting (fmpz_mat_solve_dixon), reconstructs the entries of x as fractions (Rational reconstruction) and returns the least common multiple of their denominators, which divides the largest invariant factor of A and hence \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-10-20).