# Integer multiplication in time O(n log n)

@article{Harvey2021IntegerMI,
title={Integer multiplication in time O(n log n)},
author={David Harvey and Joris van der Hoeven},
journal={Annals of Mathematics},
year={2021}
}
• Published 2021
• Computer Science, Mathematics
• 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$$
• Computer Science, Mathematics
J. ACM
• 2022
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
COUNTING REAL ROOTS IN POLYNOMIAL-TIME FOR SYSTEMS SUPPORTED ON CIRCUITS
. 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 aﬃne hyperplane. Suppose
Lower Bounds for Multiplication via Network Coding
• Computer Science, Mathematics
ICALP
• 2019
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
• Computer Science, Mathematics
IACR Cryptol. ePrint Arch.
• 2022
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.

## References

SHOWING 1-10 OF 39 REFERENCES
Fast integer multiplication using modular arithmetic
• Computer Science, Mathematics
STOC
• 2008
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
• Computer Science, Mathematics
J. ACM
• 2017
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
• Computer Science, Mathematics
• 2015
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.
AN IMPROVED OVERLAP ARGUMENT FOR ON-LINE MULTIPLICATION
• Computer Science
• 1974
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
ISSAC
• 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
• Mathematics, Computer Science
• 1994
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
• Computer Science
ISSAC '07
• 2007
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