English

Fast Integer Multiplication using Modular Arithmetic

Symbolic Computation 2008-09-19 v3 Data Structures and Algorithms

Abstract

We give an O(NlogN2O(logN))O(N\cdot \log N\cdot 2^{O(\log^*N)}) algorithm for multiplying two NN-bit integers that improves the O(NlogNloglogN)O(N\cdot \log N\cdot \log\log N) algorithm by Sch\"{o}nhage-Strassen. Both these algorithms use modular arithmetic. Recently, F\"{u}rer gave an O(NlogN2O(logN))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\"{u}rer's algorithm to achieve this improvement in the modular setting. Our algorithm can also be viewed as a pp-adic version of F\"{u}rer's algorithm. Thus, we show that the two seemingly different approaches to integer multiplication, modular and complex arithmetic, are similar.

Keywords

Cite

@article{arxiv.0801.1416,
  title  = {Fast Integer Multiplication using Modular Arithmetic},
  author = {Anindya De and Piyush P Kurur and Chandan Saha and Ramprasad Saptharishi},
  journal= {arXiv preprint arXiv:0801.1416},
  year   = {2008}
}

Comments

fixed some typos and references

R2 v1 2026-06-21T10:01:17.129Z