DIVISIÓN POR CERO

“El cero, una idea peligrosa” (Charles Seife)

“Nulidad (Nullity) es el eslabón perdido que convierte la aritmética real en una aritmética total” (James Anderson)



El Problema de la División por Cero

Un problema histórico

Desde la invención del cero por los hindúes, hace más de mil años, la gente se queda perpleja, atónita, dudosa cuando se enfrenta a dividir un número por cero. Ante esta situación hay varias opiniones sobre el resultado: De todas estas interpretaciones, la más aceptada es que el resultado es infinito.

Otro problema, relacionado con el anterior, es la expresión 0/0. En este caso, también hay varias opiniones sobre el resultado: En este caso, la interpretación más aceptada es esta última.

De estos dos problemas se sacan dos conclusiones:
  1. La aritmética no es completa, pues no está definidas las operaciones 1/0 y 0/0.

  2. Las dos interpretaciones de 1/0 y 0/0 implican trascender la propia aritmética, pues son abstracciones superiores a la abstracción de número. Además, pueden originar paradojas matemáticas. Una de ellas es: 0×1 = 0×2 = 0. Dividiendo por cero, (0/0)×1 = (0/0)×2. Eliminado el factor común, 1 = 2.

El estándar IEEE 754

En informática, un intento de dividir por cero produce una excepción, un mensaje de error, y el resultado es que “no es un número” (Not a Number, NaN). Este acrónimo forma parte del estándar IEEE 754, un término utilizado en la aritmética de punto flotante de los ordenadores.

Para prevenir la división por cero, los programas deben preguntar siempre si el divisor es cero, y si es así, bifurcar a una rutina que trate esta circunstancia. También debe chequearse si el divisor es menor que un cierto valor, pues el resultado puede causar “overflow”. También debe verificarse que no sea muy grande para que no produzca “underflow”.

Según la norma IEEE 754, el resultado NaN se puede representar en formato de punto flotante con unos en el exponente y con números diferentes de cero en la mantisa.

Las operaciones aritméticas que involucran un NaN producen un NaN, con lo que este valor se propaga a través de los cálculos. En el estándar hay dos tipos de NaN: simple (quiet NaN), que no generan excepciones adicionales en la propagación), y señalizada (signalling NaN), donde se propaga.

En la propuesta del estándar revisado (IEEE 754r) se establecen también unos valores máximo (maxnum) y mínimo (minnum), de tal manera que un NaN se puede producir en varias circunstancias: división por cero, al intentar calcular la raíz cuadrada de un número negativo, por underflow (generar un valor menor que minnum), por overflow (generar un valor mayor que maxnum), etc.

El estándar IEEE 754 contempla, además del NaN, el cero con signo (+0 y −0) y el infinito con signo (+∞ y −∞). Contempla una serie de axiomas que involucran a estos tres elementos (se detallan en el siguiente apartado). La justificación del signo se basa en conocer el signo del resultado, en el caso de underflow.

Un caso de problema grave de división por cero ocurrió en el Remote Data Base Manager a bordo del USS Yorktown (CG-48), provocando que fallara el sistema de propulsión de la nave.


La solución de James Anderson

James Arthur Dean Anderson (conocido como James Anderson), profesor de informática de la Universidad de Reading (Reino Unido), ganó relevancia pública en el año 2006 cuando afirmó “haber resuelto un viejo problema de 1200 años de antigüedad: la división por cero”. Al final se llegó a la conclusión de que realmente se trataba de una variante del concepto NaN.

Anderson inventó la aritmética transreal, posteriormente denominada transaritmética o transmatemática. Incluía todos los números reales y otros tres: +∞, −∞ y Φ (nullity, nulidad), en donde Φ es la representación de 0÷0, un número que cae fuera de la recta real. Φ simboliza un cero dividido por sí mismo.

Los axiomas de la aritmética transreal son idénticos a los de la aritmética flotante estándar del IEEE, excepto el último. La tabla comparativa es :

Aritmética
transreal
IEEE
0 ÷ 0 = Φ0 ÷ 0 = NaN
+1 ÷ 0 = +∞1 ÷ +0 = −1 ÷ −0 = +∞
−1 ÷ 0 = −∞1 ÷ −0 = −1 ÷ 0 = −∞
∞ × 0 = Φ∞ × 0 = NaN
∞ − ∞ = Φ∞ − ∞ = NaN
Φ + a = ΦNaN + a = NaN
Φ × a = ΦNaN × a = NaN
−Φ = ΦNaN = NaN
¿Φ = Φ? = V¿Φ = Φ? = F

En la aritmética transreal xx no es siempre 0, porque Φ − Φ = Φ. Y tampoco x÷x = 1 porque Φ÷Φ = Φ.

Anderson califica a a su aritmética como “total”, en el sentido de que la división es aplicable a todos los números, como en las operaciones de suma, resta y multiplicación.


La solución de Jesper Carlström

Carlström (Universidad de Estocolmo) inventó el concepto de “rueda” (wheel), la teoría de la rueda (wheel theory), donde los números reales se extienden a una rueda. El término “rueda” está inspirado por la imagen de una circunferencia proyectada sobre la recta real, que incluye el punto 0/0.

Es un tipo de álgebra donde la división está siempre definida, y donde la división por cero tiene sentido. En esta álgebra la división no es una operación binaria (de dos argumentos), sino que la división se considera una operación unaria (de un argumento). La operación /x indica algo similar (pero no idéntico) a x−1, donde Una rueda es una estructura algebraica (anillo conmutativo) (W, 0, 1, +, ·, /) con las operaciones binarias de suma y producto, el operador unario “/” y las constantes 0 y 1, con los axiomas siguientes: En este álgebra se cumple:
La Solución en MENTAL

La división por cero es un problema, pero también es una oportunidad. El cero simboliza la conciencia. Y la división por cero es un momento de máxima conciencia. No es una curiosidad. Tiene gran interés, como ocurre con las paradojas, con todo lo que desafía a lo racional y a la lógica, que obliga a buscar una solución que trascienda a la aritmética.

En MENTAL podemos capturar el evento de una división por cero mediante la expresión genérica De esta forma, los programas no necesitan preguntar siempre en cada operación si el divisor es cero, pues esta expresión genérica contempla todos los casos.

Es claro que 0/0 es un valor indeterminado porque si consideramos que resultado es r, el producto de r por 0 es cero. Luego cualquier r lo cumple.

En MENTAL ya tenemos una expresión que representa a una expresión cualquiera (no nula), numérica o no: α, la expresión existencial. Entonces podemos inferir y definir que
0÷0 = α, y se cumple: Análogamente podemos definir 1÷0 = β.


El cálculo con α y β

Cuando un proceso de cálculo encuentra un valor de 0÷0, por evaluación inversa, se sustituye por α. Y, análogamente, cuando encuentra 1÷0, se sustituye por β.

Las tablas de operaciones aritméticas son:

+01αβ
000αβ
112αβ
ααααα
βββαα
rrr+1αβ

01αβ
00−1α−β
1β1α0
ααααα
βββαα
rrr−1α−β

×01αβ
000αα
101αβ
ααααα
βαβαβ
r0rαrβ

÷01αβ
0α0α0
1β1α0
ααααα
βββαα
rrα0

Con los elementos α y β, y con estas operaciones definidas, los programas de ordenador no producen ninguna excepción y se puede llegar a un resultado final, que puede incluir α, β o a ambos.

Notas:
Lo trascendente

Las expresiones α y β son abstracciones de orden superior, y se pueden considerar dos números imaginarios. Representan dos elementos duales y trascendentes, en donde α es más trascendente (o superior) a β, porque α es de de tipo cualitativo: es un invariante respecto a todas las operaciones aritméticas, incluyéndose a sí mismo y a β (α×β = α). Y β es un elemento cuantitativo: β+β = 2β.

Los avances en matemática han estado ligados al descubrimiento de elementos desconocidos en las operaciones y en la expresiones. Así se descubrieron: Ahora es necesario considerar las expresiones α y β como fundamento de una aritmética ampliada y completa basada en la división por cero. Un nuevo paradigma.


Aritmética transreal vs. MENTAL

Ambos sistemas son similares, pero con algunas diferencias:

Adenda

La difusión de la aritmética transreal

Anderson ha tratado de comercializar sus ideas de la aritmética transreal y las máquinas Perspex a inversores. Cree que su trabajo puede producir ordenadores que funcionen varios órdenes de magnitud más rápidos que los ordenadores actuales. Y que ello puede ayudar a enriquecer nuestro entendimiento del universo y de la matemática, mejorar nuestras vidas, así como resolver problemas como la gravedad cuántica, la conexión mente-cuerpo, la conciencia y el libre albedrío.

Anderson presentó al público su aritmética transreal, junto con el concepto de Nullity, en la BBC en Diciembre de 2006. Se le presentó como el “descubridor· de la solución al problema de la división por cero, más que un intento de formalizarlo. Tras la presentación, hubo muchísimas personas que se interesaron por su trabajo.

Anderson ha tratado de generalizar su aritmética transreal a los números complejos (números transcomplejos) y al cálculo diferencial (¿números transdiferenciales?).


Una pequeña historia del problema de la división por cero

El número cero fue conocido en el siglo VII en India. Brahmagupta (eln su texto Brahmasphutasiddhanta) trató el cero como un número en su propio derecho (y no como un mero símbolo marcador de posición) y describió varias reglas para operar con él, y sus propiedades relativas a la suma, resta y producto, afirmando que “cero dividido por cero es cero”.

En el siglo IX, en India, Mahavira, actualizó las ideas de Brahmagupta y afirmó que “un número permanece inalterable cuando es dividido por cero”.

En el siglo XII, Bhaskara escribió sobre el tema de la división por cero. Aunque no lo expresó claramente, se suele interpretar que afirmaba que la división por cero es infinito.

En el siglo XVIII, Newton y Leibniz inventaron el cálculo diferencial, un cálculo extraordinariamente útil basado en números infinitesimales, próximos a cero, pero no iguales a cero.

En 1985 aparece el estándar IEEE 754, que nació para detectar la división por cero en la ejecución de programas de ordenador, y donde adoptó el concepto NaN (Not a Number).

En 2004, Jesper Carlström inventó unas estructuras algebraicas llamadas “wheels” (ruedas) que permiten la división por cero. También utiliza axiomas, pero poco intuitivos.

En 2006, James Anderson inventó la aritmética transreal mediante una serie de axiomas.

Finalmente, aparece MENTAL, un lenguaje formal universal, que resuelve el problema de la manera más simple posible definiendo dos expresiones imaginarias (α y β) que convierten la aritmética en completa, y sin necesidad de axiomas.

La conclusión es que en el cero (en la nada), paradójicamente, reside todo, reside un enorme poder, precisamente porque el cero simboliza la conciencia (por ser la unión de opuestos) y el alma (porque en él no hay espacio ni tiempo).


Bibliografía