arXiv:0801.1416cs.SC
Fast Integer Multiplication using Modular Arithmetic
Early discovery. Linked by one identifiable commenter. This paper is outside the main ranking; a mention is not an endorsement.
Abstract
We give an $O(N\cdot \log N\cdot 2^{O(\log^*N)})$ algorithm for multiplying two $N$-bit integers that improves the $O(N\cdot \log N\cdot \log\log N)$ algorithm by Schönhage-Strassen. Both these algorithms use modular arithmetic. Recently, Fürer gave an $O(N\cdot \log N\cdot 2^{O(\log^*N)})$ algorithm which however uses arithmetic over complex numbers as opposed to modular arithmetic. In this paper, we use multivariate polynomial multiplication along with ideas from Fürer's algorithm to achieve this improvement in the modular setting. Our algorithm can also be viewed as a $p$-adic version of Fürer's algorithm. Thus, we show that the two seemingly different approaches to integer multiplication, modular and complex arithmetic, are similar.
For an even faster algorithm, http://arxiv.org/pdf/0801.1416v3.pdf and its prequel http://www.cse.psu.edu/~furer/Papers/mult.pdf both beat strassen.
carterschonwaldView on HNParent context