_fmpz_mat_snf_iter_bound
Synopsis
#include <flint/fmpz_mat.h>slong _fmpz_mat_snf_iter_bound(const fmpz_mat_t A)sourceReturns 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).
@misc{flint-doc-fmpz-mat-fmpz-mat-snf-iter-bound,
author = {{The FLINT team}},
title = {{\_fmpz\_mat\_snf\_iter\_bound (fmpz\_mat.h)}},
howpublished = {FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev},
year = {2026},
url = {https://flintlib.org/doc/fmpz_mat/_fmpz_mat_snf_iter_bound.html},
note = {Generated 2026-10-20}
}