¿Por qué 0 ^ 0 en la calculadora macOS e iOS da resultados diferentes en diferentes versiones?

17

He comprobado el resultado de 0 ^ 0 en la calculadora en diferentes versiones:

  • iOS 10.3 => 1
  • iOS 11.4 => Error
  • macOS 10.12.6 => 1
  • macOS 10.13.5 => No es un número

¿Cuál es la razón de la diferencia?

mspanc
fuente
22
Voy a tener que apegarme a High Sierra entonces, porque amo el pan NaN ;-))
Tetsujin
también news.ycombinator.com/item?id=8502968 <(Apple dejó de publicar su versión de la biblioteca de matemáticas libm)
don bright
3
¿Estás preguntando para que puedas entender las matemáticas, o estás preguntando por qué Apple ha cambiado su interpretación de 0 ^ 0 varias veces? Si es lo primero, hay una respuesta aceptable publicada; si es lo último, entonces eso no necesariamente puede ser responsable.
zr00
En la versión 10.11.6 el resultado es 1
Robert Kowal

Respuestas:

20

Si bien 0⁰ generalmente no está definido, algunas ramas de las matemáticas lo definen explícitamente como 1 porque, como puede ver , este es el valor con el que la función y (x) = xˣ converge en n = 0.

Menos formalmente, tenga en cuenta que 0.5 0.5 = 0.707 ...; 0,2 0,2 = 0,725 ...; 0.1 0.1 = 0.794… y 0.01 0.01 = 0.955…. A medida que se acerque a 0, el resultado se acercará a 1, lo que hace que sea bastante lógico y práctico definir 0 ^ 0 como 1 en algunos casos .

Por lo tanto, ninguno de estos 3 resultados es incorrecto per se y, en cambio, todos reflejan diferentes convenciones sobre el valor de esta expresión indefinida.

Hay un buen artículo de Wikipedia que explica el problema. Véase también potencia de cero a cero: ¿0⁰ = 1? .

undercat apoya a Monica
fuente
44
Te refieres a x = 0, no n = 0.
Ruslan
2
Nunca antes había encontrado esa razón particular para establecer 0 ^ 0 = 1. Después de todo, x ^ y no tiene límite como (x, y) → (0,0). Sin embargo , si escribe un polinomio general en la forma ∑ c_n x ^ n, donde n en la suma varía de 0 a n (el grado del polinomio), se vuelve esencial tener 0 ^ 0 = 1, o de lo contrario el " término constante "no es tan constante después de todo. Ver también aquí.
Harald Hanche-Olsen
@ HaraldHanche-Olsen Ese es un punto muy perspicaz, por favor considere escribir una respuesta, o siéntase libre de editar la mía. Mi intuición surgió del hecho de que la mayoría de las funciones en la forma e ^ {αx ^ β * ln ^ {ξx ^ γ + μ}} convergerán en 1 (excepto para β = 0 y tal vez algunos otros casos límite), y esa clase se encuentra con frecuencia en aplicaciones de ingeniería, es decir, el tipo de cosas para las que la gente probablemente usará la aplicación de calculadora, pero entiendo que es un poco exagerado.
undercat apoya a Monica el
3
Aunque esta respuesta da una buena explicación de cómo 0 ^ 0 es / podría definirse, no explica por qué Apple ha cambiado su interpretación varias veces.
zr00
1
@DawoodibnKareem Mi comentario anterior, y más al punto, la pregunta referenciada en math.se, debería explicar por qué puede ser útil tener 0 ^ 0 sea 1. Por supuesto, tal convención tiene un precio: la expresión x ^ y es discontinuo en (0,0).
Harald Hanche-Olsen
13

La mayoría de las implementaciones de aritmética de coma flotante siguen el estándar IEEE 754-2008, que especifica que pow (0,0) devuelve 1 (ver §9.2.1).

Pero también define otras dos funciones: pown (0,0) = 1 y powr (0,0) = NaN.

Wikipedia lo resume de la siguiente manera :

El estándar de punto flotante IEEE 754-2008 se utiliza en el diseño de la mayoría de las bibliotecas de punto flotante. Recomienda una serie de operaciones para calcular una potencia: [20]

pow trata a 0 0 como 1. Si la potencia es un número entero exacto, el resultado es el mismo que para pown, de lo contrario, el resultado es como para powr (excepto en algunos casos excepcionales).

pown trata 0 0 como 1. El poder debe ser un entero exacto. El valor se define para bases negativas; por ejemplo, pown (−3,5) es −243. powr trata 0 0 como NaN (No es un número - indefinido). El valor también es NaN para casos como powr (−3,2) donde la base es menor que cero. El valor está definido por epower × log (base).

La variante pow está inspirada en la función pow de C99, principalmente por compatibilidad. [21] Es útil principalmente para idiomas con una sola función de potencia. Las variantes pown y powr se han introducido debido al uso conflictivo de las funciones de potencia y los diferentes puntos de vista (como se indicó anteriormente). [22]

Por supuesto, esto no tiene relación con cuál es el resultado matemático correcto: como otros han señalado, hay más de una respuesta posible, y el IEEE tuvo que tomar una decisión arbitraria.

Michael Kay
fuente
5

Alguien en Apple descubrió que 0 ^ 0 es una operación no válida y lo solucionó.

nohillside
fuente
5

De cero a la potencia de cero es una contradicción

  • 0 veces cualquier número es 0
  • cualquier número a la potencia 0 es 1

Se debe generar un error. La única razón por la que no se está generando un error se debe al hecho de que la versión de la Calculadora en cuestión no atrapó ese error de entrada.

Alano
fuente
99
El matemático (aficionado muy oxidado) querría argumentar que el límite de 0 ^ x es 0 cuando x se acerca a 0 y el límite de x ^ x es 1 cuando x se acerca a 0, por lo tanto, tiene una discontinuidad, que es la definición misma de Indeterminado y calienta mi oído para ver NaN en el único sistema operativo verdadero
bmike
1
calienta lo que escuché - imágenes de ovejas tostadas y calientes haciendo problemas de cálculo con su Sheppard, @bmike :-D
Allan
2
@MrLister "definido por algunos autores e indefinido por otros autores" es precisamente cómo funcionan las matemáticas. En casi todos los contextos, 0 ^ 0 = 1 es la definición correcta (por ejemplo, es el número de funciones del conjunto vacío al conjunto vacío). El hecho de que x ^ y no se pueda extender continuamente al origen es lamentable y es la razón por la que algunos educadores de análisis prefieren dejarlo sin definir para evitar confusiones, pero incluso ellos tienen que tomar 0 ^ 0 = 1 una vez que llegan a serie de potencia.
Eike Schulte
3
@bmike No hay necesidad de involucrar límites. Solo porque x ^ y sería discontinuo en (0, 0) no significa que no pueda asignar un valor a 0 ^ 0
Dennis
3
0 ^ 0 = 1 es absolutamente no una contradicción. 0 ^ 0 es un producto vacío y, por lo tanto, 1. 0 ^ 0 es la cardinalidad del conjunto de funciones del conjunto vacío al conjunto vacío, y existe exactamente una de esas funciones . Es necesario para polinomios . La lista continua.
user76284
4

Hay cierta semicontroversia sobre 0⁰ que se reduce a la función x ^ y que tiene una discontinuidad en (x, y) -> (0,0). Esta es una semicontroversia ya que es una tontería matemática prohibir una función que tiene un valor en una discontinuidad.

Es una práctica general incrustar enteros en los reales de modo que una función definida en los reales coincida con la misma función definida en los enteros siempre que la función real asuma valores integrales. Por lo tanto, tiene poco sentido distinguir 0.0 ^ 0 de 0.0 ^ 0.0.

Ahora x⁰ con el entero 0 como exponente es un producto que contiene exactamente cero factores de x. Como no hay factores de x en su valor, no tiene mucho sentido asignarle un valor que dependa de x, y su valor como producto vacío es claramente 1, el elemento neutral para la multiplicación.

Esto también tiene sentido, ya que no restringe arbitrariamente el teorema binomial a valores distintos de cero. En cierto modo, este es un argumento basado en tratar de completar la función x⁰ sensiblemente en x = 0, haciéndola definida y continua en todas partes.

Si intentamos esto con la función 0 ^ x, el límite en x = 0 + puede ser 0, pero definirlo como tal todavía no ayuda a curar la discontinuidad esencial ya que la función no está definida para x negativa.

Ahora las calculadoras tienden a calcular x ^ y como exp (y * ln (x)). Por supuesto, eso es una mala noticia para x = 0. Por lo tanto, dichos valores deben programarse explícitamente o llegarás a un no-número. Para la programación explícita, debe confiar en la intuición matemática del programador, y el programador típico se guiará más por la intuición pseudomatemática como "una función debe ser continua donde se define" que un matemático.

Además, puede esperar una avalancha de comentarios de diferentes usuarios, y los matemáticos puros no recurrirán tanto a las calculadoras por su visión de la verdad matemática, por lo que no puede esperar que sus aportes empañen los de otros.

Por lo tanto, el resultado es más democrático que matemático, y las mayorías democráticas tienden a cambiar.


fuente