Algoritmo BKM


De Wikipedia, la enciclopedia libre
Saltar a navegación Saltar a búsqueda

El algoritmo BKM es un algoritmo de cambio y suma para calcular funciones elementales , publicado por primera vez en 1994 por Jean-Claude Bajard, Sylvanus Kla y Jean-Michel Muller. BKM se basa en calcular logaritmos complejos ( modo L ) y exponenciales ( modo E ) utilizando un método similar al algoritmo que Henry Briggs utilizó para calcular logaritmos. Al usar una tabla precalculada de logaritmos de potencias negativas de dos, el algoritmo BKM calcula funciones elementales usando solo operaciones de suma, desplazamiento y comparación de enteros.

BKM es similar a CORDIC , pero usa una tabla de logaritmos en lugar de una tabla de arctangents . En cada iteración, se elige un coeficiente de un conjunto de nueve números complejos, 1, 0, −1, i, −i, 1 + i, 1 − i, −1 + i, −1 − i, en lugar de solo -1 o +1 como lo usa CORDIC. BKM proporciona un método más simple para calcular algunas funciones elementales y, a diferencia de CORDIC, BKM no necesita un factor de escala de resultados. La tasa de convergencia de BKM es de aproximadamente un bit por iteración, como CORDIC, pero BKM requiere más elementos de tabla precalculados para la misma precisión porque la tabla almacena logaritmos de operandos complejos.

Al igual que con otros algoritmos de la clase Shift-and-Add, BKM se adapta particularmente bien a la implementación de hardware. El rendimiento relativo de la implementación de software BKM en comparación con otros métodos, como aproximaciones polinomiales o racionales , dependerá de la disponibilidad de cambios rápidos de múltiples bits (es decir, un desplazador de barril ) o aritmética de punto flotante de hardware .

Referencias

Otras lecturas

  • Jorke, Günter; Lampe, Bernhard; Wengel, Norbert (1989). Arithmetische Algorithmen der Mikrorechentechnik (en alemán) (1 ed.). Berlín, Alemania: VEB Verlag Technik . págs. 280–282. ISBN 3-34100515-3. ISBN 978-3-34100515-6 . EAN 9783341005156 . MPN 5539165. Licencia 201.370 / 4/89 . Consultado el 1 de diciembre de 2015 .  
  • Meggitt, John E. (29 de agosto de 1961). "Procesos de pseudo división y pseudo multiplicación" . Revista de investigación y desarrollo de IBM . Riverton, Nueva Jersey, EE. UU .: IBM Corporation (publicado en abril de 1962). 6 (2): 210-226, 287. doi : 10.1147 / rd.62.0210 . Consultado el 1 de diciembre de 2015 .
  • Chi Chen, Tien (julio de 1972). "Cálculo automático de exponenciales, logaritmos, razones y raíces cuadradas" . Revista de investigación y desarrollo de IBM . San José, California, Estados Unidos; Riverton, Nueva Jersey, Estados Unidos: IBM San Jose Research Laboratory ; IBM Corporation . 16 (4): 380–388. doi : 10.1147 / rd.164.0380 . Consultado el 1 de diciembre de 2015 .
  • Revol, Nathalie ; Yakoubsohn, Jean-Claude (1 de mayo de 2000). "Algoritmos Acelerados Shift-and-Add" (PDF) . Computación confiable . Boston, EE.UU .: Laboratoire d'Analyse Numérique et d'Optimisation (ANO) de la Universidad de Ciencias y Tecnologías de Lille ; Editores académicos de Kluwer . 6 (2): 193-205. doi : 10.1023 / A: 1009921407000 . eISSN  1573-1340 . ISSN  1385-3139 . OCLC  67306353 . S2CID  10716391 . Archivado (PDF) desde el original el 23 de agosto de 2021. Consultado el 23 de agosto de 2021 .(14 páginas) [9]
Obtenido de " https://en.wikipedia.org/w/index.php?title=BKM_algorithm&oldid=1040559209 "