Los logaritmos irlandeses eran un sistema de manipulación numérica inventado por Percy Ludgate para la multiplicación automática. El sistema utilizó una combinación de levas mecánicas como tablas de consulta y adición mecánica para sumar índices pseudo-logarítmicos para producir productos parciales, que luego se agregaron para producir resultados. [1] La técnica es similar a los logaritmos de Zech (también conocidos como logaritmos de Jacobi), pero utiliza un sistema de índices original de Ludgate. [2]
El algoritmo de Ludgate comprime la multiplicación de dos números decimales simples en dos búsquedas de tablas (para convertir los dígitos en índices), la suma de los dos índices para crear un nuevo índice que se ingresa en una segunda tabla de búsqueda que genera el producto de salida. [3] Debido a que ambas tablas de búsqueda son unidimensionales, y la adición de movimientos lineales es simple de implementar mecánicamente, esto permite un mecanismo menos complejo que el que se necesitaría para implementar una tabla de búsqueda de multiplicación de 10x10 bidimensional.
Pseudocódigo
La siguiente es una implementación del algoritmo de logaritmos irlandeses de Ludgate en Python :
tabla1 = [ 50 , 0 , 1 , 7 , 2 , 23 , 8 , 33 , 3 , 14 ]tabla2 = [ 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 producto ( a , b ): return table2 [ table1 [ a ] + table1 [ b ]]
La Tabla 1 está tomada del artículo original de Ludgate; dada la primera tabla, el contenido de la tabla 2 puede derivarse trivialmente de la tabla 1 y la definición del algoritmo. Tenga en cuenta que el último tercio de la segunda tabla es completamente ceros; esto puede potencialmente aprovecharse para simplificar aún más una implementación mecánica.
Ver también
- Faber-Castell Model 366 , una regla de cálculo que funciona con un principio similar diseñado por Johnannes Schumacher
Referencias
- ^ Randall, Brian (octubre de 1982). "De motor analítico a computadora digital electrónica: las contribuciones de Ludgate, Torres y Bush" (PDF) . Anales de la historia de la informática . 4 (4): 20. Archivado (PDF) desde el original el 28 de diciembre de 2019 . Consultado el 28 de diciembre de 2019 .
- ^ de Man, Andries. "Parte 2 de logaritmos irlandeses - Cálculo de la historia" . sites.google.com . Archivado desde el original el 23 de febrero de 2020 . Consultado el 28 de diciembre de 2019 .
- ^ de Man, Andries. "Animación de registro irlandés" . Archivado desde el original el 23 de febrero de 2020 . Consultado el 29 de diciembre de 2019 .
Otras lecturas
- Boys, CV, "Un nuevo motor analítico" , Nature , vol. 81, núm. 2070, 1 de julio de 1904, págs. 14-15.
- Randell, B., "Ludgate's analytical machine of 1909", The Computer Journal , Volume 14, Issue 3, 1971, Pages 317–326, https://doi.org/10.1093/comjnl/14.3.317 Incluye el texto de Ludgate papel original.
enlaces externos
- Un tratamiento detallado de los logaritmos irlandeses de Ludgate , Brian Coghlan, 2019 (Archivado desde el enlace original )
- Transcripción de " On a Proposed Analytical Machine " de Percy Ludgate (publicado por primera vez en Scientific Proceedings of the Royal Dublin Society 1909 vol 12 páginas 77–91), que contiene la propia descripción de Ludgate de las tablas de logaritmos irlandeses
- Una reproducción del papel original de 1909 de Ludgate , de Los orígenes de las computadoras digitales: artículos seleccionados . Randell, Brian, 1936-. Berlín: Springer-Verlag. 1973. p. 71. ISBN 978-3-642-96145-8. OCLC 858931618 .CS1 maint: otros ( enlace )
- Método para derivar los logaritmos irlandeses de Ludgate a partir de los primeros principios , Brian Coghlan, 2020)