Anzeigen des Gesamtinhalts (oder Logo links anklicken) oder des Impressums.

Dies ist eine alte Version des Dokuments!


Note G and the calculation of Bernoulli numbers

See Bernoulli numbers in Wikipedia for details on Bernoulli numbers.

They may have been selected as an example because:

  • They cannot be enumerated using the Difference Engine
  • The values seem to be fairly random
  • The values require a machine that can handle very large numbers
  • In approximations of trigonometric functions, they allow less calculating steps than other approximations known at that time. Note that Tchebysheff's Approximation was published several years later (1859).
  • They are a sequence where the n-th number can be calculated from the previous numbers

Note that variants for the indexing and sign for Bernoulli numbers were proposed since that time; the later forms allow shorter writing of the formulas.

In Note G, equation 8 shows the recursion formula used by AAL:

`0 = -1/2 * (2n-1)/(2n+1) + B_1 <sup>((1))</sup> /(2*3*4)) + ... + B_(2n-1)`

and in terms of the number to be calculated:

`-B_(2n-1) = -1/2 * (2n-1)/(2n+1) + B_1 ((2n)/2) + B_3 ((2n*(2n-1)*(2n-2)) /(2*3*4)) + B_5 ((2n*(2n-1)... (2n-4)) /(2*3*4*5*6)) +...`

Using `A_i` as abbreviation for the factors gives

`B_(2n-1) = A_0(n) + A_1(n) * B_1 + A_3(n) * B_3 + ... + A_5(n) * B_(2n-3)`

In the text, AAL wrotes: A1, A3&c. being … functions of n …, but does not use a corresponding notation in the equation, which was done in the above equation.

Thus, the coefficients – which are not given in Note G, are:

`A_0(n) = 1/2 * (2n-1)/(2n+1)`

`A_1(n) = -(2n) / 2`

`A_3(n) = A_1(n) * (2n-1)/3 * (2n-2)/4`

`A_5(n) = A_3(n) * (2n-3)/5 * (2n-4)/6`

As each `A_i(n)` depends only on the previous `A_(i-1)(n)` (for `i>3`), they can be enumerated within a loop, as the memory places for the earlier numbers can be reused.

However, to calculate the n-th Bernoulli number, all previuos ones must be present, used each for multiplication, and left there for the next round.

This is done in later computers by either using an index register or dynamically modifying operation addresses during execution.

Note that the signs are different to those in Note G.

(to be continued)

Actual Calculation

`A_0(1) = 1/2 * 1/3 = 1/6`

`B_1 = A_0(1) = 1/6`

`A_0(2) = 3/10`

`A_1(2) = -2`

`B_3 = A_0(2) + A_1(2) * B_1 = 3/10 - 2/6 = (9 - 10)/30 = - 1/30`

`A_0(3) = 5/14`

`A_1(3) = -3`

`A_3(3) = -3 * 5/3 * 4/4 = -5`

`B_5 = 5/14 - 3/6 + 5/30 = (5 - 7)/14 + 1/6 = -1/7 + 1/6 = 1/42`

`A_0(4) = 7/18`

`A_1(4) = -4`

`A_3(4) = -4 * 7/3 * 6/4 = -14`

`A_5(4) = -14 * 5/5 * 4/6 = - 28/3`

`B_7 = 7/18 - 4/6 + 14/30 - 28/(3*42) = (7 - 12)/18 + 7/15 - 14/63 = -5/18 + 7/15 - 14/63 = (-25 + 28)/90 + 14/63 = 17/90 -14/63 = (119 - 140 ) / (7*9*10) = - 21/(7*9*10) = - 1/30`


Übersetzungen:
Anmelden