Fast integer multiplication using modular arithmetic

  • Authors:
  • Anindya De;Piyush P. Kurur;Chandan Saha;Ramprasad Saptharishi

  • Affiliations:
  • Indian Institute of Technology, Kanpur, Kanpur, India;Indian Institute of Technology, Kanpur, Kanpur, India;Indian Institute of Technology, Kanpur, Kanpur, India;Indian Institute of Technology, Kanpur and Chennai Mathematical Institute, Kanpur and Chennai, India

  • Venue:
  • STOC '08 Proceedings of the fortieth annual ACM symposium on Theory of computing
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

We give an O(N • log N • 2O(log*N)) algorithm for multiplying two N-bit integers that improves the O(N • log N • log log N) algorithm by Schönhage-Strassen. Both these algorithms use modular arithmetic. Recently, Fürer gave an O(N • log N • 2O(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.