Ho verificato il risultato di 0 ^ 0 nella calcolatrice su diverse versioni:
- iOS 10.3 => 1
- iOS 11.4 => Errore
- macOS 10.12.6 => 1
- macOS 10.13.5 => Non un numero
Qual è la ragione della differenza?
Ho verificato il risultato di 0 ^ 0 nella calcolatrice su diverse versioni:
Qual è la ragione della differenza?
Risposte:
Mentre 0⁰ è generalmente indefinito, alcuni rami della matematica lo definiscono esplicitamente come 1 perché, come puoi vedere , questo è il valore a cui converge la funzione y (x) = xˣ in n = 0.
Meno formalmente, si noti che 0,5 0,5 = 0,707…; 0,2 0,2 = 0,725…; 0,1 0,1 = 0,794… e 0,01 0,01 = 0,955…. Mentre ti avvicini a 0, il risultato si avvicina a 1, il che rende abbastanza logico e utile definire 0 ^ 0 come 1 in alcuni casi .
Pertanto, nessuno di questi 3 risultati è di per sé errato e riflettono invece diverse convenzioni sul valore di questa espressione indefinita.
C'è un buon articolo di Wikipedia che spiega il problema. Vedi anche Zero alla potenza zero - è 0⁰ = 1? .
La maggior parte delle implementazioni dell'aritmetica in virgola mobile segue lo standard IEEE 754-2008, che specifica che pow (0,0) restituisce 1 (vedere §9.2.1).
Ma definisce anche altre due funzioni: pown (0,0) = 1 e powr (0,0) = NaN.
Wikipedia lo riassume come segue :
Lo standard IEEE 754-2008 in virgola mobile viene utilizzato nella progettazione della maggior parte delle librerie in virgola mobile. Raccomanda una serie di operazioni per calcolare una potenza: [20]
pow considera 0 0 come 1. Se la potenza è un numero intero esatto, il risultato è lo stesso di pown, altrimenti il risultato è come per powr (tranne alcuni casi eccezionali).
pown considera 0 0 come 1. Il potere deve essere un numero intero esatto. Il valore è definito per basi negative; ad esempio, pown (−3,5) è −243. powr considera 0 0 come NaN (Not-a-Number - non definito). Il valore è anche NaN per casi come powr (−3,2) in cui la base è inferiore a zero. Il valore è definito da epower × log (base).
La variante pow è ispirata alla funzione pow di C99, principalmente per la compatibilità. [21] È utile principalmente per le lingue con una singola funzione di alimentazione. Le varianti pown e powr sono state introdotte a causa dell'uso contrastante delle funzioni di potenza e dei diversi punti di vista (come indicato sopra). [22]
Naturalmente questo non ha alcuna influenza su quale sia il risultato matematico corretto: come altri hanno notato, esiste più di una possibile risposta e l'IEEE ha dovuto prendere una decisione arbitraria.
Qualcuno di Apple ha capito che 0 ^ 0 è un'operazione non valida e l'ha risolta.
Zero alla potenza dello zero è una contraddizione
Si dovrebbe generare un errore. L'unico motivo per cui non viene visualizzato un errore è dovuto al fatto che la versione di Calculator in questione non ha intercettato questo errore di input.
Esiste una semicontroversione circa 0⁰ che si riduce alla funzione x ^ y che ha una discontinuità in (x, y) -> (0,0). Questa è una semicontroversione poiché è una sciocchezza matematica proibire a una funzione che abbia un valore di discontinuità.
È pratica generale incorporare numeri interi nei reali in modo tale che una funzione definita sui reali corrisponda alla stessa funzione definita sui numeri interi ogni volta che la funzione reale assume valori integrali. Quindi ha poco senso distinguere 0,0 ^ 0 da 0,0 ^ 0,0.
Ora x⁰ con l'intero 0 come esponente è un prodotto che contiene esattamente zero fattori di x. Dal momento che nessun fattore di x è contenuto nel suo valore, non ha molto senso assegnargli un valore che dipende da x, e il suo valore come prodotto vuoto è abbastanza chiaramente 1, l'elemento neutro per la moltiplicazione.
Ciò ha anche senso poiché non limita arbitrariamente il teorema binomiale a valori diversi da zero. In un certo senso, questo è un argomento basato sul tentativo di completare sensibilmente la funzione x⁰ su x = 0, rendendola definita e continua ovunque.
Se proviamo questo con la funzione 0 ^ x invece, il limite in x = 0 + può essere 0, ma definirlo come tale non aiuta ancora a curare la discontinuità essenziale poiché la funzione non è definita per x negativa.
Ora i calcolatori tendono a calcolare x ^ y come exp (y * ln (x)). Naturalmente questa è una cattiva notizia per x = 0. Quindi tali valori devono essere programmati esplicitamente o si arriva a un numero non-. Per una programmazione esplicita, devi fare affidamento sull'intuizione matematica del programmatore e il programmatore tipico sarà più guidato da un'intuizione pseudomatematica come "una funzione deve essere continua dove definita" di quanto farebbe un matematico.
Inoltre, puoi aspettarti una raffica di commenti da diversi utenti e i puri matematici non torneranno ai calcolatori per la loro visione della verità matematica tanto, quindi non puoi aspettarti che il loro contributo sommerga quello degli altri.
Quindi il risultato è più democratico che matematico e le maggioranze democratiche tendono a cambiare.