Fast Integer Multiplication using Modular Arithmetic
Loading...
Date
Journal Title
Journal ISSN
Volume Title
Publisher
Abstract
Description
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.
fixed some typos and references
fixed some typos and references