Irish logarithms were a system of number manipulation invented by
Percy Ludgate
Percy Edwin Ludgate (2 August 1883 – 16 October 1922) was an Irish amateur scientist who designed the second analytical engine (general-purpose Turing-complete computer) in history.
Life
Ludgate was born on 2 August 1883 in Skibbereen, ...
for machine multiplication. The system used a combination of mechanical cams as look-up tables and mechanical addition to sum pseudo-logarithmic indices to produce partial products, which were then added to produce results. The technique is similar to
Zech logarithm
Zech logarithms are used to implement addition in finite fields when elements are represented as powers of a generator \alpha.
Zech logarithms are named after Julius Zech, and are also called Jacobi logarithms, after Carl G. J. Jacobi who used t ...
s (also known as Jacobi logarithms), but uses a system of indices original to Ludgate.
Ludgate's algorithm compresses the multiplication of two single decimal numbers into two
table lookup
In computer science, a lookup table (LUT) is an array that replaces runtime computation with a simpler array indexing operation. The process is termed as "direct addressing" and LUTs differ from hash tables in a way that, to retrieve a value v wi ...
s (to convert the digits into indices), the addition of the two indices to create a new index which is input to a second lookup table that generates the output product.
Because both lookup tables are one-dimensional, and the addition of linear movements is simple to implement mechanically, this allows a less complex mechanism than would be needed to implement a two-dimensional 10x10 multiplication lookup table.
Pseudocode
The following is an implementation of Ludgate's Irish logarithm algorithm in the
Python programming language:
table1 = 0, 0, 1, 7, 2, 23, 8, 33, 3, 14
The comma is a punctuation mark that appears in several variants in different languages. It has the same shape as an apostrophe or single closing quotation mark () in many typefaces, but it differs from them in being placed on the baseline of ...
table2 = [ 1, 2, 4, 8, 16, 32, 64, 3, 6, 12,
24, 48, 0, 0, 9, 18, 36, 72, 0, 0,
0, 27, 54, 5, 10, 20, 40, 0, 81, 0,
15, 30, 0, 7, 14, 28, 56, 45, 0, 0,
21, 42, 0, 0, 0, 0, 25, 63, 0, 0,
0, 0, 0, 0, 0, 0, 35, 0, 0, 0,
0, 0, 0, 0, 0, 0, 49, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0]
def product(a, b):
return table2[table1[a] + table1[b
Table 1 is taken from Ludgate's original paper; given the first table, the contents of Table 2 can be trivially derived from Table 1 and the definition of the algorithm. Note since that the last third of the second table is entirely zeros, this could be exploited to further simplify a mechanical implementation of the algorithm.
See also
*
Faber-Castell Model 366
The A. W. Faber Model 366 was an unusual model of slide rule, manufactured in Germany by the A. W. Faber Company around 1909, with scales that followed a system invented by Johannes Schumacher (1858-1930) that used discrete logarithms to calcul ...
, a slide rule operating on a similar principle designed by Johannes Schumacher
References
Further reading
* Boys, C.V., "A New Analytical Engine," ''Nature'', Vol. 81, No. 2070, July 1, 1904, pp. 14–15.
* Randell, B., "Ludgate's analytical machine of 1909", ''The Computer Journal'', Volume 14, Issue 3, 1971, Pages 317–326, https://doi.org/10.1093/comjnl/14.3.317 Includes the text of Ludgate's original paper.
External links
A detailed treatment of Ludgate's Irish Logarithms Brian Coghlan, 2019 (Archived fro
original link
* Transcript of
by Percy Ludgate (first published in ''Scientific Proceedings of the Royal Dublin Society'' 1909 vol 12 pages 77–91), containing Ludgate's own description of the Irish logarithm tables
A reproduction of Ludgate's original 1909 paper from {{Cite book, title=The origins of digital computers : selected papers, date=1973, publisher=Springer-Verlag, others=Randell, Brian, 1936-, isbn=978-3-642-96145-8, location=Berlin, oclc=858931618, page=71
Method for deriving Ludgate's Irish Logarithms from first principles Brian Coghlan, 2022)
Mechanical calculators
Multiplication
Algorithms
Irish inventions