Abstract.
We present a new probabilistic algorithm to compute the Smith normal form of a sparse integer matrix \( A \in {\Bbb Z}^{m \times n} \). The algorithm treats A as a “black box”—A is only used to compute matrix-vector products and we do not access individual entries in A directly. The algorithm requires about \( O(m^2 {\rm log} \parallel A \parallel) \) black box evaluations \( w \mapsto Aw\,{\rm mod}\,p \) for word-sized primes p and \( w \in {\Bbb Z}^{n \times 1}_p \), plus \( O(m^2 n\,{\rm log} \parallel A \parallel +\,m^3\,{\rm log^2} \parallel A \parallel) \) additional bit operations. For sparse matrices this represents a substantial improvement over previously known algorithms. The new algorithm suffers from no “fill-in” or intermediate value explosion, and uses very little additional space. We also present an asymptotically fast algorithm for dense matrices which requires about \( O(n \cdot {\rm MM}(m)\,{\rm log} \parallel A \parallel +\,m^3\,{\rm log^2} \parallel A \parallel) \) bit operations, where O(MM(m)) operations are sufficient to multiply two \( m \times m \) matrices over a field. Both algorithms are probabilistic of the Monte Carlo type — on any input they return the correct answer with a controllable, exponentially small probability of error.
Similar content being viewed by others
Author information
Authors and Affiliations
Additional information
Received: March 9, 2000.
Rights and permissions
About this article
Cite this article
Giesbrecht, M. Fast computation of the Smith form of a sparse integer matrix. Comput. complex. 10, 41–69 (2001). https://doi.org/10.1007/PL00001611
Issue Date:
DOI: https://doi.org/10.1007/PL00001611