Ирски логаритам

Од Википедија — слободната енциклопедија

Ирски логаритaм ― поранешен систем за манипулација со броеви измислен од Перси Лудгејт за машинско множење. Системот користел комбинација од механички камери како табели за пребарување и механичко додавање на збирните псевдологаритамски индекси за производство на делумни производи, кои потоа биле додавани за да се добијат резултати.[1] Техниката е слична на Цеховиот логаритам (исто така познат како Јакобиев логаритам), но користи систем на индекси изворни на Лудгејт.[2]

Алгоритмот на Лудгејт го збива множењето на два единечни децимални броеви во две пребарување на табели (за претворање на цифрите во индекси), додавањето на двата индекса за да се создаде нов индекс кој е влезен во втората табела за пребарување што го создава излезниот производ.[3] Бидејќи и двете табели за пребарување се еднодимензионални, а додавањето на линеарни движења е едноставно механички имплементирано, ова овозможува помалку сложен механизам отколку што би бил потребен за имплементација на дводимензионална табела за пребарување множење 10x10.

Псевдокод[уреди | уреди извор]

Следното е применување на ирскиот логаритам на Лудгејт во програмскиот јазик Python:

table1 = [50, 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, b):
  return table2[table1[a] + table1[b]]

Табела 1 е преземена од изворниот труд на Лудгејт; со оглед на првата табела, содржината на Табела 2 може тривијално да се изведе од Табела 1 и дефиницијата на алгоритмот. Имајте предвид дека последната третина од втората табела е целосно нули, ова може да се искористи за дополнително да се поедностави механичката примена на алгоритмот.

Поврзано[уреди | уреди извор]

  • Фабер-Кастел модел 366, правило за слајдови што функционира на слично начело дизајниран од Јоханес Шумахер

Наводи[уреди | уреди извор]

  1. Randall, Brian (октомври 1982). „From Analytical Engine to Electronic Digital Computer:The Contributions of Ludgate, Torres, and Bush“ (PDF). Annals of the History of Computing. 4 (4): 20. Архивирано од изворникот (PDF) на 28 декември 2019. Посетено на 21 јануари 2023.
  2. de Man, Andries. „Irish Logarithms Part 2 – Calculating History“. sites.google.com. Архивирано од изворникот на 23 февруари 2020. Посетено на 21 јануари 2023.
  3. de Man, Andries. „Irish Log Animation“. Архивирано од изворникот на 23 февруари 2020. Посетено на 21 јануари 2023.

Дополнителна книжевност[уреди | уреди извор]

  • Boys, C.V., „A New Analytical Engine“, Nature, км. 81, бр. 2070, 1 јули 1904 година, стр. 14–15.
  • Randell, B., „Ludgate's analytical machine of 1909“, The Computer Journal, том 14, број 3, 1971 година, страници 317–326, https://doi.org/10.1093/comjnl/14.3.317 Го вклучува текстот на Лудгејтовиот изворен труд.

Надворешни врски[уреди | уреди извор]