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:

 \displaystyle{-\frac{2678712663617147865\dots17188572196384102833}{7386785024850234755289860612029729346078645764469688942653855164197093332104883640990}}

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'
                                                     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 }

Leave a Comment

Previous post:

Next post: