Home
Briggs' method

 

Henry Briggs and the HP35

I will start this article with a few words about Henry Briggs himself (1561-1630) who published in 1624 his book “Arithmetica Logaritmica” [1], describing a set of methods to help calculate tables of (common) logarithms.

Napier (or Neper) (1550-1617) is the inventor of the logarithms around 1614 ; Briggs and Napier agreed to redefine logarithms so they have 10 for base (what we call today “common logarithms”).

In the following years Briggs published “common logarithms” tables and the method to compute them.

In fact, these base 10 logarithms tables were still in use in the 70s and the slide rule (which is a direct application of logarithms) was at this time a common engineer tool.

I have already explained how Hewlett-Packard with its HP35, introduced in 1972, revolutionized the engineering world.

No more logarithm tables or slide rule to handle. Just press a key.

I remember that time (the start of my career) and the day I put my fingers on a HP35. Immediately, I pressed ln(x) and magically the result was there in around 200 ms!

Surprisingly, the internal algorithm was said to be based on a method close to the approach that described Briggs in 1624!

The present article is about the link -somewhat magical- between Briggs and the HP35.

Briggs’ book is partially available on the Internet (in English) on the Ian Bruce’site University of Adelaide, Australia.

The brilliant method of Henry Briggs is presented in depth by Erik Vestergaard, on his site and in an article published in 1996 [5] (in Danish). The first two chapters -describing Briggs method- have been translated by Erik and are available here.

I thank particularly Erik for giving me advices and tips during this research.

Briggs “Golden rule

Briggs organized his work in a simple way; genial ways are often simples.

A left column was supposed to contain the numbers (“numbers from continued means from 10 to 1”) while in a right column he would write their logarithms.

He started with 10 and log(10)=1.

Then he calculated repeated square roots of 10 and in the right column he place the half of the preceding number: log ( n) = (log n) / 2.

 I reproduced here the table from Briggs’s book (many thanks to Erik).

Briggs did those calculations down to the 54th root of ten.

The result is very close to 1:

1.0000 00000 00000 01278191493 etc

And the logarithm (base 10) is:

0.00000 00000 00000 0555111512

Then he made his discovery of the “golden rule”.

Considering the “significant figures” (notae significativae) of the numbers:

first:
127819149320032
second:
555111512312578
third:
1
and finally X the logarithm to be found.

Briggs wrote (Chapter 6, p 12): “I assert that these four numbers are in proportion” and he computed the fourth X applying the ratio to number 555111512312578.

The result 434294481903251 is the significant part of the logarithm of our third number:

X = log(1.0000,00000,00000,01) = 0.00000,00000,00000,04342,94481,90325

 

Briggs saw clearly the role this constant [Ch 6, p.12]: “hic autem sola multiplicatione totum negotium absovit” (“by multiplication alone the whole work is done”).

To show clearly the computation process, let us seek log(6) by the Brigg’ s method (Arithmetica Logarithmica Chapter 6) but with a tool he could not imagine.

I will use Mathematica to do the hard core calculations.

 

Let's calculate “continued means” for the case of log(6) (successive square root of 6 between 50 and 53):






Then we have:

*=

and –as Briggs did (Chapter 7, for the calculation of log(2)) – let’s write the four numbers in proportion: 

1
1989252617   
    Notae Mediorum ut prius
4342944819     
Notae Logarithmorum ut prius
8639214348

the fourth number is found by the golden rule “per proportionis illam auream regulam”:


and the final result is (log 6)

One important point is:

If I take the log calculated by “golden rule” I have (shorter writing):

8.6392 10-17 * 253    = 0.77815… = log(6)

but if I take the “continued means” minus 1:

1.9892 10-16 * 253 = 1.791759…= ln(6).

So by the Briggs’ method, we find the log to base 10, by finding first the natural log (ln(x)) (!) as the HP35 calculates first and always the natural log.

For each value in the “continued means” column, he computes , but we must keep in mind that, if k is high (e.g. k=53):  

 HP35 Golden rules

Knowing –already- a few rationale logarithms, log(10) … Briggs showed us how to find log(x) –in fact ln(x)- by a so called golden rule.

HP35 had in its ROM the code of a very similar golden rule!

Let’s get things together.

The search for this “proportionality zone” is the key of Briggs’ method, and also of the HP 35’s algorithm.

If we go down the square root list, there is a rank k for which the roots and the logs are in proportion:  rn+1 / rn ~ ½ and ln+1 / ln = ½.

There is an optimal rank where the number of leading zeros and of significant digits is almost the same; going further will only reduce significant digits numbers.

Now, if like Briggs, at the rank k, we consider ln(1+rk), we can say there is an interesting proportionality:

 ln(1+rk) ~  rk e.g. ln(1.000005) ~ 0.000005, the natural log being proportional  to ln(10): rn / ln = ln(10).

What Briggs called “golden rule” is in fact the effect of the higher terms of the power series expansion of ln(1+rk) compared to the significant figures considered:


 
the difference being very small for 5 leading zeros:

In fact, the HP35 Rom follows exactly this scheme (the algorithm is due to J. E. Meggitt [2]) : for lower exponents it has constants (ln(10), ln(2), ln(1.1), ln(1.01), ln (1.001)) but ends calculation using  Briggs’ approximation ln(x)  ~ x-1.

For ln(x) the HP35-Meggitt’s algorithm is directly derived of what is explained above (x between 0 and 10); let’s write:

The first part of computation time is spent to seek the set of   parameters (pseudo division), each one larger as possible, the product respecting the inequality.

All calculations here are simply a question of additions and right shifting, for example  multiplying x by 1.1 is simply shifting BCD value of x right then adding it to itself (see my article about ln(x) trace on the HP35: labels ln24, ln25, ln26, L02026, eca21, eca22 and L02230).

Second part, (pseudo multiplication) the natural logarithm we search is simply a question of subtractions, using the set of parameters  
  we have computed so far (labels pmu21, pmu23, pmu24, pqo23, pqo24, etc…).

For ln(6) the HP35 computation of  the set of  
 gives 053442, where 0 is q0, 5 is q4, 3 is q3 etc.

The product p above:

leads to expression of ln(x):

and with Brigss’ approximation ln(a) = a -1 

Factors  and   are listed below:

Product p is  and the result ln(6) is .

In fact the machine was not so accurate!

350 years later …

Here is how can be summarized –in his words- the discovery of Henry Briggs:

t being small, that is to say the number of root extraction is high (54th  for 10), there is a proportionality “golden rule”, that can be written as

log(1+t) ~ 0.43429448… t

or E / (D-1) ~ 0.43429448….

 (E and D being the name of the column in Briggs’ calculation – see above).

There I probably must distinguish between what he wrote and what can be deduced from what he wrote.

In the Chapter 6, he computed –as we have seen in an example (he could have taken any other) the log of number X=1.0000 00000 00000 01 and he found –of course – 0.00000 00000 00000 04342 94481 … etc

We can infer therefore he was conscious of the role of the constant 0.43429448…  in the “golden rule”.

But he was probably not aware of the extent of his discovery:

0.43429 = 1/ln(10) = log(e), and  ln(1+t) = t

Briggs and HP35 side by side.

1) To calculate the logarithm of a number t, Briggs’ idea was to to bring this number close to 1 by taking repeated square roots (m times).

When a number of the form 1.00000 00000 0000 xxxxx, very close to 1, is reached (1+x in which x is very small) he discovered his “golden rule”:

log(1 +x) = k x

or

ln(1 + x) = x.

To get back to log (t) or ln (t), he just needed to multiply by .

Let's take –for example- the case of t=10 and let's calculate ln(10), taking 54 square roots:
Briggs did
=

and with the « golden rule » he subtracted 1:
 = .
The final result is there, doubling and doubling the previous result 54 times …

=  

(In fact Briggs knew only base 10 logarithms, but that fact doesn't change the rationale).

 2) In the J.E Meggit's algorithm, the following product is formed

 

and we bring it very close to 1, by selecting parameters properly,

We remember Briggs and write very close to 1,

Having the constants

 stored in ROM, the final result is simply:

.

It can be easily shown that the algorithm leading to the quotient is very close to the division process: y is divided by x using repeated subtractions.
It only differs from a normal division in that the divisor (“pseudo divisor”) is being constantly updated by addition of
instead of being constant (JE Meggitt, p 213, J. Laporte [7] & [8])

J. LAPORTE
2005,
2006.
 

[1] Henry Briggs. Arithmetica Logarithmica. London 1624.
[2]  
J. E. Meggitt, Pseudo Division and Pseudo Multiplication Processes, IBM JOURNAL APRIL 1962
[3] A. Ralston and H. S. Wilf, Mathematical Methods for Digital Computers, John Wiley and Sons, Inc., 1960.
[4] J. H. Wensley, “A Class of Non-Analytical Iterative Processes,” The Computer Journal, 1, No. 4, 163 (Jan. 1959).

[5] Erik Vestergaard. En revolution i regnekunsten, Forlaget ABACUS, Denmark, 1996.

[6] Herman Goldstine.
A History of Numerical Analysis from the 16th through the 19th Century. Springerverlag, 1977.
[7] Jacques Laporte,
HP 35 Logarithm Algorithm, (a step by step comment of the HP35 Rom code), December 2005,
[8] Jacques Laporte,  Digit by digit Methods June 2006.


HISTORICAL APPENDIX.

The « radix method » has been rediscovered at different epochs, by different authors ( T. Weddle, R. Flower, P. Gray …), in different forms.

Basically, it’s a reversible procedure that leads (using the definition of logarithms and ) to a number close to 1 where the golden rule can be applied ; the return process yielding the final result.

According to Florian Cajori (A History of Mathematics, 1893, p 155) “A famous method of computing logarithms is the so-called "radix method". It requires the aid of a table of radices or numbers of the form with their logarithms. The logarithm of a number is found resolving the number into factors of the form and adding the logarithms of the factors. The earliest appearance of this method is in an anonymous "Appendix" (very probably due to Oughtred) to Edward Wrights’s 1618 edition of Napier’s Descriptio.

It is fully developed by Briggs who, in his Arithmetica logarithmica, 1624, gives a table of radices.” (1)

a) calculation with repeated square roots. 

If , the « radix » is the following rearrangement: (2).

In Chapter 7 of his Arithmetica, Briggs gave us an example of use of the method, calculating log(6). He worked out some powers of 6 to have a number close to 1, so he can apply the radix method: (see above the direct procedure that Briggs wanted to avoid, to lessen calculations).

He took then 46 repeating square roots to reach the “proportionality zone” :


.

Next, he applied his golden rule to the 54th row of his repeated square root table and, doubling 46 times, he finally got the logarithm of :

Applying the return procedure, he just had to add 7 and divide by 9 to reach the final result:

.

 b) the same calculation with a radix table.

Briggs, in Ch. XII of Arithmetica logarithmica, gave a "radix table" (see a reproduction at the end of [8]) and showed the way to use it.

We just have to divide 1.0077696 by the first biggest "radix" (1.007) and so on: 

    1.0077696  
        log
÷ 1.007 = 1.00076425 0.00302947055
÷ 1.0007 = 1.000064205 0.00030389978
÷ 1.00006 = 1.000004205 0.00002605689
÷ 1.000004 = 1.000000205 0.00000173717
÷ 1.0000002 = 1.000000005 0.00000008686
÷ 1.000000005 = 1 0.00000000217
         
         
         
      0.00336125343

Then we just read in the table the logarithms of the radices and sum them.


(1) Hutton suggested that the "Appendix" is due to Briggs himself. The "radix method" is applied to Napier's table and rules are given to bring the Napier's logarithm within the "whole sine" and 980000.

(2) Strictly speaking, in a radix table, in  ,  the number "r" (as named by Cajori) is an integer less the 10.
A modern radix table can be found in the "Handbook of Mathematical functions" by Abramowitz and Stegun, p.114 -115.