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, occupies 700MB
in uncompressed, textual format. In its shortened form:
Contact us if you are interested in downloading all of the digits of the 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' 1 0.1666666666666666666666666666666666666666666666667 -0.0333333333333333333333333333333333333333333333333 0.0238095238095238095238095238095238095238095238095 -0.0333333333333333333333333333333333333333333333333 0.0757575757575757575757575757575757575757575757576 -0.2531135531135531135531135531135531135531135531136 1.1666666666666666666666666666666666666666666666667 -7.0921568627450980392156862745098039215686274509804 54.971177944862155388471177944862155388471177944862 -529.12424242424242424242424242424242424242424242424 6192.1231884057971014492753623188405797101449275362 -86580.253113553113553113553113553113553113553113553 1425517.1666666666666666666666666666666666666666667
{ 0 comments… add one now }