Bernoulli numbers as examples

Ada Lovelace had selected the calculation of Bernoulli numbers as the most advanced example in her notes to the description of the analytical engine.

One outstanding feature of this example is the necessity to have indexed access to memory cells, because the calculation of the next number is a weighted sum of all previous ones (in the form used by A.L.).

It is clear now that indexing was not in the plans that Babbage had created until then, and it is even unsure if it was included in later versions.

So one might consider using the method given by A.A.L. as an example for other early machines.

Hoever, it was never mentioned before that the example has a significant disadvantage: The numbers soon get very large and grow super-exponentially:

B[1]=0.166667
B[3]=-0.0333333
B[5]=0.0238095
B[7]=-0.0333333
B[9]=0.0757576
B[11]=-0.253114
B[13]=1.16667
B[15]=-7.09216
B[17]=54.9712
B[19]=-529.124
B[21]=6192.12
B[23]=-86580.3
B[25]=1.42552e+06
B[27]=-2.72982e+07

Thus, the calculation – as decimal fractions – demands for floating point arithmetic, and many early computers were restricted to integer and (binary) fractional numbers (except Zuse's machines); floating-point calculations sometimes provided as libaries.

While Babbage planned for a large (30) number of decimal digits, also his machine would soon have to stop because of number overflow.

So, unfortunately, the Bernoulli numbers are not an appropriate example for early computers.


Log In