HOME

TheInfoList



OR:

The Irish logarithm was a system of number manipulation invented by
Percy Ludgate Percy Edwin Ludgate (2 August 1883 – 16 October 1922) was an Ireland, 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 Skibb ...
for machine multiplication. The system used a combination of mechanical cams as
lookup table In computer science, a lookup table (LUT) is an array data structure, array that replaces runtime (program lifecycle phase), runtime computation of a mathematical function (mathematics), function with a simpler array indexing operation, in a proc ...
s 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 logarithms (also known as Jacobi logarithms), but uses a system of indices original to Ludgate.


Concept

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 of a mathematical function with a simpler array indexing operation, in a process termed as ''direct addressing''. The savings in processing time can be sig ...
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 10×10 multiplication lookup table. Ludgate stated that he deliberately chose the values in his tables to be as small as he could make them; given this, Ludgate's tables can be simply constructed from first principles, either via pen-and-paper methods, or a systematic search using only a few tens of lines of program code. They do not correspond to either Zech logarithms, Remak indexes or Korn indexes.


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 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: int, b: int) -> int: """Ludgate's Irish logarithm algorithm.""" 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

* *


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) Articles with example Python (programming language) code Mechanical calculators Multiplication Algorithms Irish inventions