Ирландский логарифм
— Ирландский логарифм это система манипуляций с числами, изобретенная Перси Ладгейтом для машинного умножения. Система использовала комбинацию механических кулачков в качестве справочных таблиц и механическое сложение для суммирования псевдологарифмических индексов для получения частичных продуктов, которые затем складывались для получения результатов. [1]
Этот метод аналогичен логарифмам Зеха (также известным как логарифмы Якоби), но использует систему индексов, оригинальную для Ладгейта. [2]
Концепция
[ редактировать ]Алгоритм Ладгейта сжимает умножение двух одинарных десятичных чисел в два поиска по таблице (для преобразования цифр в индексы), сложение двух индексов для создания нового индекса, который вводится во вторую таблицу поиска, которая генерирует выходной продукт. [3] Поскольку обе справочные таблицы являются одномерными, а добавление линейных движений легко реализовать механически, это позволяет использовать менее сложный механизм, чем тот, который был бы необходим для реализации двумерной справочной таблицы умножения 10×10.
Ладгейт заявил, что он намеренно выбрал значения в своих таблицах настолько маленькими, насколько это было возможно; учитывая это, таблицы Ладгейта можно просто построить на основе первых принципов, либо с помощью бумажных методов, либо путем систематического поиска с использованием всего нескольких десятков строк программного кода. [4] Они не соответствуют ни логарифмам Зеха, ни индексам Ремака , ни индексам Корна . [4]
Псевдокод
[ редактировать ]Ниже приведена реализация ирландского алгоритма логарифма Ладгейта на языке программирования Python :
таблица1 = [ 50 , 0 , 1 , 7 , 2 , 23 , 8 , 33 , 3 , 14 ] таблица 2 = [ 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 : """Алгоритм ирландского логарифма Ладгейта .""" 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)