Jump to content

Ирландский логарифм

Ирландский логарифм это система манипуляций с числами, изобретенная Перси Ладгейтом для машинного умножения. Система использовала комбинацию механических кулачков в качестве справочных таблиц и механическое сложение для суммирования псевдологарифмических индексов для получения частичных продуктов, которые затем складывались для получения результатов. [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 и определения алгоритма. Обратите внимание, что последняя треть второй таблицы полностью равна нулям, и это можно использовать для дальнейшего упрощения механической реализации алгоритма.

См. также

[ редактировать ]
  1. ^ Рэндалл, Брайан (октябрь 1982 г.). «От аналитической машины к электронному цифровому компьютеру: вклад Ладгейта, Торреса и Буша» (PDF) . Анналы истории вычислительной техники . 4 (4): 20. Архивировано (PDF) из оригинала 28 декабря 2019 г. Проверено 28 декабря 2019 г.
  2. ^ де Ман, Андриес. «Ирландские логарифмы. Часть 2 – История вычислений» . сайты.google.com . Архивировано из оригинала 23 февраля 2020 г. Проверено 28 декабря 2019 г.
  3. ^ де Ман, Андриес. «Ирландская анимация журналов» . Архивировано из оригинала 23 февраля 2020 г. Проверено 29 декабря 2019 г.
  4. Перейти обратно: Перейти обратно: а б Коглан, Брайан (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. Включает текст работы Ладгейта. оригинальная бумага.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 577d1e8eb5e6e445cb61fbffe92d27c4__1711034520
URL1:https://arc.ask3.ru/arc/aa/57/c4/577d1e8eb5e6e445cb61fbffe92d27c4.html
Заголовок, (Title) документа по адресу, URL1:
Irish logarithm - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)