π€ AI Summary
This work addresses the efficient computation of the Smith normal form of nonsingular integer matrices by proposing a Las Vegas algorithm that integrates an adaptive batching strategy to reduce the theoretical $O(\log n)$ iterative rounds to a practical constant number. By leveraging the residue number system (RNS) to enable BLAS-accelerated modular arithmetic, the method achieves significant computational gains. Implemented in C, the algorithm demonstrates linear scaling with respect to a single BLAS matrix multiplication in runtime, even for matrices as large as dimension $n = 10{,}007$. This near-linear relationship with matrix multiplication complexity confirms the approachβs high efficiency and represents a substantial improvement in the performance of Smith normal form computations for large-scale integer matrices.
π Abstract
We describe a C implementation of the Las Vegas algorithm of Birmpilis, Labahn and Storjohann from 2020 for computing the Smith normal form of a nonsingular integer matrix. The algorithm computes a Smith massager for the input matrix using $O(n^Ο\, \B(\log n + \log \|A\|)\, (\log n)^2)$ bit operations, which is softly equivalent to the cost of multiplying two matrices of the same dimension and entry size. We describe the key implementation techniques that bridge the gap between the theoretical algorithm and practical performance, including BLAS-accelerated modular arithmetic via the Residue Number System and an adaptive batching scheme that collapses the theoretical $O(\log n)$ iterations to $O(1)$ in practice. Experiments on matrices of dimension up to $n = 10007$ show that the implementation's running time scales proportionally to that of a single BLAS matrix multiplication, with both exhibiting the same effective growth rate on a log-log plot.