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.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have