¿Por qué 0 ^ 0 es igual a 1 en el estándar IEEE 754 aunque no tiene sentido?

La pregunta tiene dos problemas:
(1) No es necesariamente cierto que 0⁰ = 1 en el IEEE Std 754-2008 (la versión más reciente).
(2) ¿Qué quieres decir con “eso” y por qué dices “no tiene sentido”?

Primero, abordemos cómo debe considerarse 0.. El es un teorema a veces denominado principio de operación nular que dice: dado un conjunto en el que se define una operación binaria asociativa y esa operación tiene un elemento de identidad en el conjunto, entonces la operación binaria se puede extender a una versión anaria para todos los valores enteros no negativos de. En el caso de = 0 (una operación nular), el resultado es siempre el elemento de identidad de la operación binaria. La exponenciación ^ implica multiplicar copias de (que asumiremos que es cualquier número real aquí), por lo que esta es una extensión -ary de la operación binaria de multiplicación cuyo elemento de identidad es 1. Por lo tanto, cuando = 0, el resultado es siempre 1 , independientemente de qué valor pueda tener. Ahora, técnicamente hemos abordado lo que debería ser el valor de 0⁰ solo en el contexto de exponentes enteros. Para extender al contexto de exponentes reales, podríamos argumentar desde el punto de vista de una incorporación que 0⁰ debería ser 1 en el caso más general de exponentes reales tal como lo es en el caso más específico de exponentes enteros; sin embargo, algunas aplicaciones que involucran análisis real necesitan que las funciones / operaciones bajo consideración sean continuas, lo que ^ no está en (0; 0), por lo que 0⁰ debe considerarse indefinido en ese contexto. Si la continuidad es importante, entonces 0⁰ debe considerarse como indefinido en el contexto de exponentes reales; de lo contrario, 0⁰ debe considerarse como 1 (de hecho, debe ser en el caso de exponentes enteros, basado en el principio de operación nular). La continuidad no es relevante para exponentes enteros. ¿Tiene sentido esta determinación del valor apropiado para 0⁰, si eso es lo que significaba la parte de la pregunta original?

Ahora, ¿qué dice IEEE Std 754-2008 sobre 0⁰? En primer lugar, está cubierto por la Cláusula 9, Operaciones recomendadas, que proporciona asesoramiento (no requisitos) a diseñadores e implementadores de lenguajes de programación combinados con implementadores de hardware (aunque en este caso la carga recae principalmente en los idiomas) para manejar ciertas operaciones , incluida la exponenciación. Los escritores de IEEE Std 754 hicieron todo lo posible para ser tan matemáticamente razonables como pudieron en el contexto de las computadoras cuya aritmética de coma flotante no puede tener muchas de las propiedades típicas que los matemáticos asocian con las operaciones aritméticas. En el caso de 0⁰, se dan tres opciones: (1) la función de pown (que está restringida a exponentes enteros) es devolver 1 para ⁰ para todos los valores de, incluido 0; (2) la función pow (que cubre exponentes reales) es devolver 1 para ⁰ para todos los valores de, incluido 0; (3) la función powr es considerar 0⁰ como no válido y desencadenar una excepción. Estos corresponden exactamente a lo que se concluyó acerca del comportamiento matemático apropiado de 0⁰: (1) 1 cuando el dominio de exponentes está restringido a enteros; (2) 1 cuando los exponentes reales están involucrados y la continuidad no está involucrada; (3) indefinido cuando la continuidad es importante. El programador simplemente necesita seleccionar la correcta de las funciones pown, pow o powr para que se correspondan con el dominio y el comportamiento del exponente deseado.

Los programadores que usan fórmulas ampliamente aceptadas de las matemáticas deberían poder esperar resultados consistentes y confiables. Existen varias fórmulas que solo son ciertas si 0 ^ 0 = 1 (se encuentran algunos ejemplos en la página de wikipedia sobre exponenciación). Suponiendo que el exponente es preciso (de tipo entero), la expresión 0 ^ 0 debe evaluarse como 1, es la única forma de obtener resultados consistentes a partir de fórmulas matemáticas ampliamente aceptadas.

Deje 0 ser n y x cualquier número.

Si tenemos (n ^ x) / (n ^ x), debido a las leyes de exponentes, es lo mismo que escribir (n ^ xx), que es n ^ 0. Sin embargo, también sabemos que un número dividido por sí mismo es 1. Maniobrar de la siguiente manera demuestra cómo funciona esto. (n ^ x) / (n ^ x) = n ^ (xx) = n ^ 0 = 1

En este caso, 0 no es un caso especial, por lo que puede tratarlo como si fuera un número diferente. Espero eso ayude.

More Interesting

¿Cuál es su consejo para alguien que comienza su doctorado en informática teórica?

¿Están algunas de las máquinas en 'On Computable Numbers' (A. Turing 1936) buggy?

Se nos dan probabilidades [matemáticas] P (A) = P (B) = P (C) \ geq 2/3 [/ matemáticas] y sabemos que [matemáticas] P (A \ cap B \ cap C) = 0 [/ mates]. ¿Qué podemos decir sobre [matemáticas] P (A) [/ matemáticas]?

Cómo resolver la recurrencia T (n) = T (n - 1) + n usando el teorema del maestro

¿Cuál es el algoritmo para rotar una matriz bidimensional?

¿Cuál es la prueba de primitiva determinista más rápida?

Cómo calcular la varianza esperada en el tiempo (t) dada una deriva y volatilidad conocidas

Informática teórica: ¿Cuáles son las funciones aparte de la función de Ackermann que solo se pueden resolver de forma recursiva y no se pueden resolver de forma iterativa?

Si el punto (3, -4) divide la línea entre el eje x y el eje y en la relación 2: 3, ¿cuál será la ecuación lineal?

¿La informática y la programación están conectadas con el pensamiento matemático?

Sistemas distribuidos: ¿El resultado de imposibilidad de FLP y el teorema de CAP de Brewer son básicamente equivalentes?

Int a [6] = {1,2,4,5,}; ¿Es correcta esta afirmación en el concepto de matrices?

¿Las matemáticas son importantes para la piratería informática?

¿Cómo sabe la CPU que estamos usando el complemento de uno o el complemento de dos para representar números negativos?

¿Cuál es una manera fácil de entender la física?