Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende ÜberarbeitungNächste ÜberarbeitungBeide Seiten der Revision | ||
analyticalengine:bernoullinumbercalculation [2015-04-21 13:47] – rainer | analyticalengine:bernoullinumbercalculation [2015-05-06 18:29] – add remark on using equation 8 over 2 or 3 rainer | ||
---|---|---|---|
Zeile 15: | Zeile 15: | ||
In //Note G//, equation 8 shows the recursion formula used by AAL: | In //Note G//, equation 8 shows the recursion formula used by AAL: | ||
- | < | + | < |
and in terms of the number to be calculated: | and in terms of the number to be calculated: | ||
Zeile 25: | Zeile 25: | ||
< | < | ||
- | In the text, AAL wrotes: // | + | In the text, AAL wrote: // |
- | Thus, the coefficients – which are not given in //Note G//, are: | + | Thus, the coefficients – which are not given in //Note G// – are: |
- | `A_0(n) = 1/2 %%*%% (2n-1)/ | + | `A_0(n) = 1/2 * (2n-1)/ |
`A_1(n) = -(2n) / 2` | `A_1(n) = -(2n) / 2` | ||
- | `A_3(n) = A_1(n) | + | `A_3(n) = A_1(n) * (2n-1)/3 * (2n-2)/4` |
- | `A_5(n) = A_3(n) | + | `A_5(n) = A_3(n) * (2n-3)/5 * (2n-4)/6` |
- | As each `A_i(n)` depends only on the previous | + | As each `A_i(n)` depends only on the previous |
- | 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, | + | 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. | This is done in later computers by either using an index register or dynamically modifying operation addresses during execution. | ||
Zeile 47: | Zeile 45: | ||
Note that the signs are different to those in //Note G//. | Note that the signs are different to those in //Note G//. | ||
- | (to be continued) | + | ====== Why not equation 2 or 3? ====== |
+ | On page 725, AAL shows two commonly used formulas in equation 2 and 3, that do calculate the n-th Bernoulli number just as a series without recursion to other Bernoulli numbers, i.e. as a function of n alone. Then she writes: | ||
+ | > As however our object is not simplicity or facility of computation, | ||
+ | |||
+ | Thus she probably delibrately took into account the indexing problem. | ||
+ | |||
+ | |||
+ | ====== The problem in line 21 ====== | ||
+ | |||
+ | The tabular programme in the //Diagram accompanying Translator' | ||
+ | |||
+ | To calculate `B_7`, the lines 13 to 23 are executed once, then in line 24 and 25 the result is stored. | ||
+ | |||
+ | To calculate `B_9` afterwards, lines 13 to 23 are a loop executed twice, i.e. until `V_10` is reduced to `1`. Let us ignore that the lines are missing that compare `V_10` to one, and raise the overflow lever in the mill, as to control the loop exit condition. This would be added easily. | ||
+ | |||
+ | Howerver, in line 21 during the second round, the value to be multiplied is not `V_22`, containing `B_5`, but `V_23`, contining the just calculated `B_7`. | ||
+ | |||
+ | AAL has evidently see that problem and writes on page 729 bottom: | ||
+ | >The only exception to a //perfect identity// | ||
+ | |||
+ | However, while it is correctly assumed that this may be solved, there is no hint of how this is //easily provided//, that the loom of variable cards are changed with each round. | ||
+ | |||
+ | It may be considered only to loop the operation cards, and to //unravel the loop//, although that contradicts her remark earlier on the page, that >when `n>2`, twenty-five Operation-cards are used; but no // | ||
+ | |||
+ | On page 729, there is a footnote (for which I did not found the corresponding reference place), that millions of Bernoulli numbers could be calculated this way. | ||
+ | |||
+ | However, to calculate millions of Bernoulli numbers, the AE would need a store of millions of numbers; this may be a place where she did not fully understand the problem. | ||
+ | |||
+ | Alan Bromley in his 1998 article on page 44 left column, second to last paragraph, writes: | ||
+ | >With hindsight, we can note that in the Analytical Engine (at least until 1840), Babbage did not posess the variable-address concept; that is, there was no mechanism by which the machine could, as a result of a calculation, | ||
+ | |||
+ | He refers this to solving matrices, and thus to a much much more complex problem. | ||
====== Actual Calculation ====== | ====== Actual Calculation ====== | ||
- | < | + | `A_0(1) = 1/2 * 1/3 = 1/6` |
`B_1 = A_0(1) = 1/6` | `B_1 = A_0(1) = 1/6` | ||
Zeile 58: | Zeile 87: | ||
`A_0(2) = 3/10` | `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` | `B_3 = A_0(2) + A_1(2) * B_1 = 3/10 - 2/6 = (9 - 10)/30 = - 1/30` |