Irländsk logaritm
Irländska logaritmer var ett system för talmanipulation som uppfanns av Percy Ludgate för maskinell multiplikation. Systemet använde en kombination av mekaniska kammar som uppslagstabeller och mekanisk addition för att summera pseudologaritmiska index för att producera delprodukter, som sedan lades till för att ge resultat. Tekniken liknar Zech-logaritmer (även känd som Jacobi-logaritmer), men använder ett system av index som är original till Ludgate.
Ludgates algoritm komprimerar multiplikationen av två enkla decimaltal till två tabelluppslagningar (för att omvandla siffrorna till index), tillägget av de två indexen för att skapa ett nytt index som matas in i en andra uppslagstabell som genererar utdataprodukten. Eftersom båda uppslagstabellerna är endimensionella och tillägget av linjära rörelser är enkelt att implementera mekaniskt, tillåter detta en mindre komplex mekanism än vad som skulle behövas för att implementera en tvådimensionell 10x10 multiplikationsuppslagstabell.
Pseudokod
Följande är en implementering av Ludgates irländska logaritmalgoritm i programmeringsspråket Python :
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 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
tabell 1 = [ 50 , , 1 , 7 , 2 , 23 , 8 , 33 , 3 , 14 ] tabell 2 = [ 1 , 2 , 4 , 8 , 16 , 32 , 64 , 3 , 6 , 12 , 44 , 24 , 9 , 18 , 36 , 72 , , , , , 27 , 54 , 5 , 10 , 20 , 40 , 81 , , 15 , 30 , , , 7 , 14 , 28 , 56 , 2 , 4 , 4 , 2 , 4 , , , 25 , 63 , , , , , , , , 35 , , , , , , , , 49 , , , , , , , , , , , , , , , , , , , , , , _ _ _ _ , , , , , , , , , , ] def produkt ( a , b ) : returnera tabell2 [ tabell1 [ a ] + tabell1 [ b ]]
Tabell 1 är hämtad från Ludgates originalpapper; givet den första tabellen kan innehållet i Tabell 2 trivialt härledas från Tabell 1 och definitionen av algoritmen. Observera att eftersom den sista tredjedelen av den andra tabellen är helt noll, kan detta utnyttjas för att ytterligare förenkla en mekanisk implementering av algoritmen.
Se även
- Faber-Castell modell 366 , en linjal som fungerar på en liknande princip designad av Johannes Schumacher
Vidare läsning
- Boys, CV, "A New Analytical Engine," Nature , Vol. 81, nr 2070, 1 juli 1904, s. 14–15.
- Randell, B., "Ludgate's analytical machine of 1909", The Computer Journal , Volym 14, Issue 3, 1971, sidorna 317–326, https://doi.org/10.1093/comjnl/14.3.317 Inkluderar texten från Ludgates originalpapper.
externa länkar
- En detaljerad behandling av Ludgates irländska logaritmer , Brian Coghlan, 2019 (Arkiverad från originallänk )
- Avskrift av " On a Proposed Analytical Machine " av Percy Ludgate (först publicerad i Scientific Proceedings of the Royal Dublin Society 1909 vol 12 sidorna 77–91), innehållande Ludgates egen beskrivning av de irländska logaritmtabellerna
-
En reproduktion av Ludgates originalpapper från 1909, från The origins of digital computers: Selected papers . Randell, Brian, 1936-. Berlin: Springer-Verlag. 1973. sid. 71. ISBN 978-3-642-96145-8 . OCLC 858931618 .
{{ citera bok }}
: CS1 underhåll: andra ( länk ) - Metod för att härleda Ludgates irländska logaritmer från första principer, Brian Coghlan, 2022)