New World Record – 110,000,000th Bernoulli Number

by Pavel Holoborodko on May 9, 2012

Bernoulli numbers are used extensively in many areas of mathematics and applied science. In particular, the Multiprecision Computing Toolbox relies on them for the evaluation of various special functions.

A few months ago, while our team was developing routines for the Gamma function, we found an excellent program from David Harvey for the efficient computation of Bernoulli numbers. The program is based on an original, parallelizable algorithm that is tailored to take advantage of modern multi-core CPU architectures.

We ran the program to compute the 110,000,000th Bernoulli number (the previous world record was the 100,000,000th). The computation took 15 days, and we used our Intel Xeon 5430 (Quadcore), 12GB ECC RAM with Ubuntu 10.04 64-bit as a host system.

The final result, B_{110\,000\,000} occupies 700MB in uncompressed, textual format. In its shortened form:


Contact us if you are interested in downloading all of the digits of the B_{110\,000\,000} number.

Bernoulli numbers can be computed in MATLAB using function mp.BernoulliNumber from our toolbox:

>> mp.Digits(50);
>> b = mp.BernoulliNumber([0:2:26]);
>> b'

{ 0 comments… add one now }

Leave a Comment

Previous post:

Next post: