Por @Alvy

Calculadora de Android

Está circulando mucho esta historia de Chad Nauseam que se publicó originalmente como hilo de Twitter titulada ¿Una app de una calculadora? Cualquiera puede hacer eso. Es un relato sumamente entretenido acerca de cómo Google encargó el desarrollo de la Calculadora original de Android a Hans-J. Boehm, un ingeniero que se obsesionó con el tema y con crear la calculadora perfecta.

El problema a resolver es que incluso crear una sencilla calculadora que funcione bien, bien y se vea de forma perfecta (y no muestre algo como 0,000000) no es tan fácil como parece. La conversión entre binario (coma flotante) y decimal complica las cosas y luego ciertos números, ya sea por grandes, pequeños o precisos, aún más.

Y es que no todo es como repartir la cuenta del restaurante entre un pequeño número de comensales. Expresiones como (10^100) + 1 − (10^100) deberían dar 1, no 0 como muestran algunas calculadoras. La cosa se complica cuando aparecen fracciones y números irracionales o transcendentales.

Boehm comenzó empleando bignums (números enteros sin límite de tamaño), luego pasó a fracciones de precisión arbitraria y después a números algebraicos, capaces de representar raíces cuadradas. Pero eso dejaba fuera a números transcendentales como π.

El caso es que poco a poco acabó construyendo un motor de evaluación aritmética y usando una representación híbrida: números expresados como el producto de un número racional por un número real, usando la llamada aritmética real recursiva (RRA) solo cuando era necesario. Para optimizar la velocidad añadieron una representación simbólica para valores como π, e y similares, dado que la complejidad de esos cálculos hacían la app demasiado lenta.

Esta historia está repleta de detalles matemáticos y técnicas aplicadas al desarrollo de software, en una especie de madriguera de conejo por la que se va profundizando cada vez más y más y que no parece tener fin. Aunque lo tuvo. El resultado es la calculadora actual, que puede dar respuestas exactas y «visualmente agradables» para los usuarios y al mismo tiempo aproximadas cuando no hay alternativas.

Relacionado:

Compartir en Flipboard Publicar
PUBLICIDAD


Por @Alvy

Nuevo número de «Lva²», la revista de divulgación matemática, ya disponible en línea de forma gratuita

Ya está en línea el número de enero de 2025 de Lva², la revista de divulgación matemática. Como siempre está disponible en un PDF completo, de 142 páginas, y una web de acompañamiento donde puede verse artículo por artículo.

Recordemos que en Lva² los autores colaboran de forma desinteresada y todo está publicado bajo una licencia libre (CC)-by-nc-sa. En este número hay ocho artículos además de las soluciones a los problemas planteados y nuevos problemas propuestos.

Los temas de este primer número son todos estos (enlaces a los PDFs):

Como puede verse hay algunos temas muy relacionados con la informática: desde el RSA a la inteligencia artificial y ChatGPT.

Relacionado:

Compartir en Flipboard Publicar
PUBLICIDAD


Por @Alvy

Tom Bessoir y Joshua Pines crearon Dígitos de pi, «una película transcendental» de 3 minutos y 14 segundos de duración, en la que se pone ritmo a los aleatorios dígitos de la redonda constante, con la tonadilla de unas notas musicales y una voz que los va pronunciando.

Según cuenta, está inspirado el Anemic Cinema, de Marcel Duchamp, que es una película muda con juegos de palabra y un humor rematadamente fino.

Aquí la voz es de Jahna Rain y como «autor» han puesto a William Shanks (1812-1882) que fue uno de los pioneros en los cálculos de los decimales de pi. La historia es conocida: calculó durante años y años 707 decimales, aunque luego se demostró que se había equivocado a partir del 527. La banda sonora es un homenaje a Einstein on the Beach, de Philip Glass y Robert Wilson.

Este vídeo, por cierto, proviene del canal de YouTube de G4G, Gathering for Gardner, que es un evento periódico en el que los fans de Martin Gardner se reúnen periódicamente para hacer presentaciones ultra-rápidas, al estilo TED, de sus descubrimientos matemáticos. Cada vídeo que allí aparece es una pequeña joya, así que ya estás tardando en suscribirte.

Relacionado:

Compartir en Flipboard Publicar
PUBLICIDAD


Por @Alvy

Laberintos de Penrose

Los Laberintos de Penrose tienen la particularidad de estar construidos no sobre cuadrículas regulares, sino sobre una teselación de Penrose, una especie de mosaico o «suelo de baldosas» que no es periódico ni tiene simetrías; en otras palabras: no podrías obtenerlo repitiéndolo por translación, giros o simetría especular.

Cuando se adaptan estas curiosas formas geométricas a la «versión laberíntica» surgen formas estrelladas no repetitivas. Como dice Justin Pombrio, su creador, «las paredes tienen diez ángulos, así que sería muy fácil perderse en un laberinto así».

Curiosamente, aunque los mosaicos son deterministas, porque utilizan la teselación original de Penrose, los laberintos son aleatorios. Se puede estudiar el código fuente en Python y Pygame para ver cómo funciona o crear variaciones, o por ejemplo optimizarlo porque dice su autor que aunque bello es «tremendamente ineficiente».

Relacionado:

Compartir en Flipboard Publicar
PUBLICIDAD