Ирландский логарифм
— Ирландский логарифм это система манипуляций с числами, изобретенная Перси Ладгейтом для машинного умножения. Система использовала комбинацию механических кулачков в качестве справочных таблиц и механическое сложение для суммирования псевдологарифмических индексов для получения частичных продуктов, которые затем складывались для получения результатов. [1]
Этот метод аналогичен логарифмам Зеха (также известным как логарифмы Якоби), но использует систему индексов, оригинальную для Ладгейта. [2]
Концепция
[ редактировать ]Алгоритм Ладгейта сжимает умножение двух одинарных десятичных чисел в два поиска по таблице (для преобразования цифр в индексы), сложение двух индексов для создания нового индекса, который вводится во вторую таблицу поиска, которая генерирует выходной продукт. [3] Поскольку обе справочные таблицы являются одномерными, а добавление линейных перемещений легко реализовать механически, это позволяет использовать менее сложный механизм, чем потребовался бы для реализации двумерной справочной таблицы умножения 10×10.
Ладгейт заявил, что он намеренно выбрал значения в своих таблицах настолько маленькими, насколько это возможно; учитывая это, таблицы Ладгейта можно просто построить на основе первых принципов, либо с помощью бумажных методов, либо путем систематического поиска с использованием всего нескольких десятков строк программного кода. [4] Они не соответствуют ни логарифмам Зеха, ни индексам Ремака , ни индексам Корна . [4]
Псевдокод
[ редактировать ]Ниже приведена реализация ирландского алгоритма логарифма Ладгейта на языке программирования 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: int, b: int) -> int:
"""Ludgate's Irish logarithm algorithm."""
return table2[table1[a] + table1[b]]
Таблица 1 взята из оригинальной статьи Ладгейта; Учитывая первую таблицу, содержимое Таблицы 2 можно тривиально получить из Таблицы 1 и определения алгоритма. Обратите внимание, что последняя треть второй таблицы полностью равна нулям, и это можно использовать для дальнейшего упрощения механической реализации алгоритма.
См. также
[ редактировать ]- Модель 366 Фабера-Кастелла — необычная логарифмическая линейка, использующая систему, аналогичную дискретным логарифмам.
- Каноническая арифметика - Книга Карла Якоби
Ссылки
[ редактировать ]- ^ Рэндалл, Брайан (октябрь 1982 г.). «От аналитической машины к электронному цифровому компьютеру: вклад Ладгейта, Торреса и Буша» (PDF) . Анналы истории вычислительной техники . 4 (4): 20. Архивировано (PDF) из оригинала 28 декабря 2019 г. Проверено 28 декабря 2019 г.
- ^ де Ман, Андриес. «Ирландские логарифмы. Часть 2 – История вычислений» . сайты.google.com . Архивировано из оригинала 23 февраля 2020 г. Проверено 28 декабря 2019 г.
- ^ де Ман, Андриес. «Ирландская анимация журналов» . Архивировано из оригинала 23 февраля 2020 г. Проверено 29 декабря 2019 г.
- ^ Перейти обратно: а б Коглан, Брайан (10 июня 2020 г.). «Логарифмические индексы Перси Ладгейта» (PDF) . сокровища.scss.tcd.ie . Проверено 1 октября 2023 г.
Дальнейшее чтение
[ редактировать ]- Мальчики, резюме, «Новая аналитическая машина», Nature , Vol. 81, № 2070, 1 июля 1904 г., стр. 14–15.
- Рэнделл, Б., «Аналитическая машина Ладгейта 1909 года», The Computer Journal , том 14, выпуск 3, 1971, страницы 317–326, https://doi.org/10.1093/comjnl/14.3.317. Включает текст работы Ладгейта. оригинальная бумага.
Внешние ссылки
[ редактировать ]- Подробное рассмотрение ирландских логарифмов Ладгейта , Брайан Коглан, 2019 г. (Архивировано по исходной ссылке )
- Расшифровка книги « О предлагаемой аналитической машине Перси Ладгейта » (впервые опубликованной в «Научных трудах Королевского Дублинского общества», 1909 г., том 12, страницы 77–91), содержащей собственное описание Ладгейтом ирландских таблиц логарифмов.
- Репродукция оригинальной статьи Ладгейта 1909 года . Истоки цифровых компьютеров: избранные статьи . Рэнделл, Брайан (1936 г.р.). Берлин: Springer-Verlag. 1973. с. 71. ИСБН 978-3-642-96145-8 . OCLC 858931618 .
{{cite book}}
: CS1 maint: другие ( ссылка ) - Метод вывода ирландских логарифмов Ладгейта из первых принципов , Брайан Коглан, 2022)