Integer multiplication in time $O(n \log n)$

Abstract

We present an algorithm that computes the product of two $n$-bit integers in $O(n \log n)$ bit operations, thus confirming a conjecture of Schönhage and Strassen from 1971. Our complexity analysis takes place in the multitape Turing machine model, with integers encoded in the usual binary representation. Central to the new algorithm is a novel “Gaussian resampling” technique that enables us to reduce the integer multiplication problem to a collection of multidimensional discrete Fourier transforms over the complex numbers, whose dimensions are all powers of two. These transforms may then be evaluated rapidly by means of Nussbaumer’s fast polynomial transforms.

Authors

David Harvey

School of Mathematics and Statistics, University of New South Wales, Sydney NSW 2052, Australia

Joris van der Hoeven

CNRS, Laboratoire d'informatique, École polytechnique, 91128 Palaiseau, France