Tipo de aritmética informática
La representación de números mediante índice de nivel ( LI ) y sus algoritmos para operaciones aritméticas fueron introducidos por Charles Clenshaw y Frank Olver en 1984. [1]
La forma simétrica del sistema LI y sus operaciones aritméticas fueron presentadas por Clenshaw y Peter Turner en 1987. [2]
Michael Anuta, Daniel Lozier, Nicolas Schabanel y Turner desarrollaron el algoritmo para la aritmética de índice de nivel simétrico ( SLI ) y una implementación paralela del mismo. Se ha trabajado mucho en el desarrollo de los algoritmos aritméticos SLI y su extensión a operaciones aritméticas complejas y vectoriales .
Definición
La idea del sistema de índice de nivel es representar un número real no negativo X como
donde y el proceso de exponenciación se realiza ℓ veces, con . ℓ y f son el nivel y el índice de X respectivamente. x = ℓ + f es la imagen LI de X . Por ejemplo,
Así que su imagen LI es
La forma simétrica se utiliza para permitir exponentes negativos, si la magnitud de X es menor que 1. Se toma sgn (log( X )) o sgn(| X | − | X | −1 ) y se almacena (después de sustituir +1 por 0 para el signo recíproco ya que para X = 1 = e 0 la imagen LI es x = 1.0 y define de forma única X = 1 y podemos prescindir de un tercer estado y utilizar solo un bit para los dos estados −1 y +1 [ aclaración necesaria ] ) como el signo recíproco r X . Matemáticamente, esto es equivalente a tomar el recíproco (inverso multiplicativo) de un número de magnitud pequeña y luego encontrar la imagen SLI para el recíproco. El uso de un bit para el signo recíproco permite la representación de números extremadamente pequeños.
También se puede utilizar un bit de signo para permitir números negativos. Se toma sgn (X) y se almacena (después de sustituir +1 por 0 para el signo, ya que para X = 0 la imagen LI es x = 0.0 y define de forma única X = 0 y podemos prescindir de un tercer estado y utilizar solo un bit para los dos estados −1 y +1 [ aclaración necesaria ] ) como el signo s X . Matemáticamente, esto es equivalente a tomar el inverso (inverso aditivo) de un número negativo y luego encontrar la imagen SLI para el inverso. El uso de un bit para el signo permite la representación de números negativos.
La función de mapeo se llama función logaritmo generalizada y se define como
y se aplica sobre sí misma de manera monótona y, por lo tanto, es invertible en este intervalo. La inversa, la función exponencial generalizada , se define por
La densidad de valores X representada por x no tiene discontinuidades a medida que pasamos del nivel ℓ a ℓ + 1 (una propiedad muy deseable) ya que:
La función logaritmo generalizado está estrechamente relacionada con el logaritmo iterado utilizado en el análisis de algoritmos en informática.
Formalmente, podemos definir la representación SLI para un X real arbitrario (no 0 o 1) como
donde s X es el signo (inversión aditiva o no) de X y r X es el signo recíproco (inversión multiplicativa o no) como en las siguientes ecuaciones:
mientras que para X = 0 o 1, tenemos:
Por ejemplo,
y su representación SLI es
Véase también
Referencias
- ^ Clenshaw, Charles William; Olver, Frank William John (1984). "Más allá del punto flotante". Revista de la ACM . 31 (2): 319–328. doi : 10.1145/62.322429 .
- ^ Clenshaw, Charles William; Turner, Peter R. (1988-10-01) [1986-09-16, 1987-06-04]. "El sistema de índice de nivel simétrico". IMA Journal of Numerical Analysis . 8 (4). Oxford University Press , Instituto de Matemáticas y sus Aplicaciones: 517–526. doi :10.1093/imanum/8.4.517. ISSN 0272-4979. OCLC 42026743 . Consultado el 10 de julio de 2018 .
Lectura adicional
- Clenshaw, Charles William; Olver, Frank William John ; Turner, Peter R. (1989). "Aritmética de índice de nivel: una revisión introductoria". Análisis numérico y procesamiento paralelo (Actas de congresos / The Lancaster Numerical Analysis Summer School 1987). Lecture Notes in Mathematics (LNM). 1397 : 95–168. doi :10.1007/BFb0085718. ISBN 978-3-540-51645-3.
- Clenshaw, Charles William; Turner, Peter R. (23 de junio de 1989) [4 de octubre de 1988]. "Cálculo de raíces cuadradas mediante aritmética de índices de nivel". Computing . 43 (2). Springer-Verlag : 171–185. doi :10.1007/BF02241860. ISSN 0010-485X.
- Zehendner, Eberhard (verano de 2008). "Rechnerarithmetik: Logarithmische Zahlensysteme" (PDF) (guión de la conferencia) (en alemán). Universidad Friedrich Schiller de Jena . págs. 21-22. Archivado (PDF) desde el original el 9 de julio de 2018 . Consultado el 9 de julio de 2018 .[1]
- Hayes, Brian (septiembre-octubre de 2009). «The Higher Arithmetic». American Scientist . 97 (5): 364–368. doi :10.1511/2009.80.364. Archivado desde el original el 9 de julio de 2018 . Consultado el 9 de julio de 2018 .[2]. También reimpreso en: Hayes, Brian (2017). "Capítulo 8: Aritmética superior". Foolproof, and Other Mathematical Meditations (1.ª ed.). The MIT Press . pp. 113–126. ISBN. 978-0-26203686-3. ISBN 0-26203686-X .
Enlaces externos
- sli-c-library (alojada por Google Code), "Implementación en C++ de aritmética de índice de nivel simétrico".