Integer multiplication in time O(n log n)

  title={Integer multiplication in time O(n log n)},
  author={David Harvey and Joris van der Hoeven},
  journal={Annals of Mathematics},
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 Schonhage and Strassen from 1971. Our complexity analysis takes place in the multitape Turing machine model, with integers encoded in the usual binary representa- tion. 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… 

Figures from this paper

Polynomial multiplication over finite fields in time O(n log n)
Assuming a widely-believed hypothesis concerning the least prime in an arithmetic progression, we show that two n -bit integers can be multiplied in time O ( n log n ) on a Turing machine with a
A Fast Self-correcting $\pi$ Algorithm
An algorithm to compute the mathematical constant π = 3.14159265, which is self-correcting in the sense that, given an approximated value of π as an input, it can compute a more accurate value ofπ with cubic convergence.
Polynomial Multiplication over Finite Fields in Time \( O(n \log n \)
It is shown that polynomials of degree less than n over a finite field with q elements can be multiplied in time, uniformly in q, and how to multiply two n -bit integers in time is shown.
The Polynomial Transform
A new form of DFT is explored, which is called the Polynomial Transform, which functions over finite fields, and a size $n$ transform takes $O(n)$ operations.
Subset Sum in $O(n^{16}\log(n))$
This extensive revision of my paper ”Description of an O ( poly ( n )) Algorithm for NP-Complete Combinatorial Problems” will dramatically simplify the content of the original paper by solving
. Suppose A = { a 1 , . . . , a n +2 }⊂ Z n has cardinality n +2, with all the coordinates of the a j having absolute value at most d , and the a j do not all lie in the same affine hyperplane. Suppose
Lower Bounds for Multiplication via Network Coding
It is proved that if a central conjecture in the area of network coding is true, then any constant degree boolean circuit for multiplication must have size $\Omega(n \lg n)$, thus almost completely settling the complexity of multiplication circuits.
Faster Integer Multiplication Using Preprocessing
A New Number Theoretic Transform (NTT), which is a form of FFT, is introduced, that is faster than FFTs, that uses preprocessing to achieve an upper bounds of (n log n/(log log n/ log log log n).
Counting Real Roots in Polynomial-Time for Systems Supported on Circuits
The first algorithm is given that, for any fixed n, counts exactly the number of real roots of F in time polynomial in log(dH).
Efficient Multiplication of Somewhat Small Integers using Number-Theoretic Transforms
Leveraging recent advances in the implementation of Number-Theoretic Transforms (NTT) stimulated by their use in Post-Quantum Cryptography, implementations of NTT-based integer arithmetic on two Arm Cortex-M CPUs on opposite ends of the performance spec-trum are reported.


Fast integer multiplication using modular arithmetic
An algorithm for multiplying two N-bit integers that improves the O(N • log N • log log N) algorithm by Schönhage-Strassen and can be viewed as a p-adic version of Fürer's algorithm.
Faster Polynomial Multiplication over Finite Fields
This work establishes the bound Mp(n) = O(n log n 8log* n log p), where log* n = min{k ϵ N: log …k×… log n ≤ 1} stands for the iterated logarithm.
Fast integer multiplication using generalized Fermat primes
An alternative algorithm, which relies on arithmetic modulo generalized Fermat primes, is used to obtain conjecturally the same result K = 4 via a careful complexity analysis in the deterministic multitape Turing model.
A lower bound of cNlogN is proved for the mean time complexity of an on-line multitape with known upper bounds of the form cN(logN)k sub K, and for some classes the upper and lower bounds coincide.
Faster relaxed multiplication
  • J. Hoeven
  • Computer Science, Mathematics
  • 2014
This paper will generalize the algorithm for relaxed power series multiplication to the cases when K is replaced by an effective ring of positive characteristic or by aneffective ring of characteristic zero, which is also torsion-free as a Z-module and comes with an additional algorithm for partial division by integers.
Faster truncated integer multiplication
These problems may be solved in asymptotically 75% of the time required to compute the full 2n-bit product, assuming that the underlying integer multiplication algorithm relies on computing cyclic convolutions of real sequences.
Discrete weighted transforms and large-integer arithmetic
The concept of Discrete Weighted Transforms (DWTs) are introduced which substantially improve the speed of multiplication by obviating costly zero-padding of digits.
A gmp-based implementation of schönhage-strassen's large integer multiplication algorithm
An improved implementation of Schönhage-Strassen's algorithm, based on the one distributed within the GMP library is presented, with improvements to faster arithmetic modulo 2n + 1, improved cache locality and tuning.
Discrete Fourier transforms when the number of data samples is prime
  • C. Rader
  • Mathematics, Computer Science
  • 1968
The discrete Fourier transform of a sequence of N points, where N is a prime number, is shown to be essentially a circular correlation, which permits the discrete Fouriers transform to be computed by means of a fast Fouriertransform algorithm, with the associated increase in speed, even though N is prime.