FLINT3.7.0-dev

_fmpz_mat_snf_iter_bound

Synopsis#include <flint/fmpz_mat.h>
slong _fmpz_mat_snf_iter_bound(const fmpz_mat_t A)source

Returns the number of alternating row and column Hermite normal forms after which fmpz_mat_snf and fmpz_mat_snf_transform throw, as a guard against an infinite loop: 16 + 4 M^2 (b + \lfloor \log_2 M \rfloor + 2) for M = \max(m, n) and b-bit entries, after the worst case bound of Kannan and Bachem [KanBac1979].

References#

  • [KanBac1979] Kannan, R. and Bachem, A. : Polynomial algorithms for computing and the Smith and Hermite normal forms of an integer matrix, SIAM J. Computation vol. 9 (1979) 499–507
Cite this page

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