English

A multimodular algorithm for computing Bernoulli numbers

Number Theory 2008-10-13 v2

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.

Keywords

Cite

@article{arxiv.0807.1347,
  title  = {A multimodular algorithm for computing Bernoulli numbers},
  author = {David Harvey},
  journal= {arXiv preprint arXiv:0807.1347},
  year   = {2008}
}

Comments

10 pages, 1 table, requires algorithm2e package; many minor edits, updated timings for correct GMP version, added data for calcbn package

R2 v1 2026-06-21T10:58:42.547Z