A multimodular algorithm for computing Bernoulli numbers
David Harvey

TL;DR
This paper introduces a parallel algorithm for computing Bernoulli numbers efficiently, achieving a new record for B(10^8) and outperforming existing methods through modular computation and the Chinese Remainder Theorem.
Contribution
The authors present a novel multimodular algorithm with parallel implementation that significantly improves the speed of Bernoulli number computation for large indices.
Findings
Computed B(10^8) for the first time
Algorithm outperforms existing zeta-function based methods
Achieved faster computation through modular and parallel techniques
Abstract
We describe an algorithm for computing Bernoulli numbers. Using a parallel implementation, we have computed B(k) for k = 10^8, a new record. Our method is to compute B(k) modulo p for many small primes p, and then reconstruct B(k) via the Chinese Remainder Theorem. The asymptotic time complexity is O(k^2 log(k)^(2+epsilon)), matching that of existing algorithms that exploit the relationship between B(k) and the Riemann zeta function. Our implementation is significantly faster than several existing implementations of the zeta-function method.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsCryptography and Residue Arithmetic · Polynomial and algebraic computation · Cryptography and Data Security
