Por que 0 ^ 0 na calculadora macOS e iOS fornece resultados diferentes em versões diferentes?

17

Verifiquei o resultado de 0 ^ 0 na calculadora em diferentes versões:

  • iOS 10.3 => 1
  • iOS 11.4 => Erro
  • macOS 10.12.6 => 1
  • macOS 10.13.5 => Não é um número

Qual o motivo da diferença?

mspanc
fonte
22
Eu vou ter que ficar na High Sierra então, porque eu amo pão NaN ;-))
Tetsujin
Também news.ycombinator.com/item?id=8502968 <(Apple parou de publicar a sua versão do libm biblioteca de matemática)
don brilhante
3
Você está pedindo para entender a matemática ou para entender por que a Apple mudou sua interpretação de 0 ^ 0 várias vezes? Se for o primeiro, há uma resposta aceitável postada; se for o último, isso pode não ser necessariamente responsável.
Zr00
Na versão 10.11.6, o resultado é 1
Robert Kowal

Respostas:

20

Enquanto 0⁰ é geralmente indefinido, alguns ramos da matemática o definem explicitamente como 1 porque, como você pode ver , esse é o valor para o qual a função y (x) = xˣ converge em n = 0.

Menos formalmente, observe que 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…. À medida que você se aproxima de 0, o resultado se aproxima de 1, o que torna bastante lógico e útil definir 0 ^ 0 como 1 em alguns casos .

Portanto, nenhum desses três resultados está incorreto por si só e, em vez disso, todos refletem convenções diferentes sobre o valor dessa expressão indefinida.

Há um bom artigo da Wikipedia explicando o problema. Veja também Zero à potência zero - é 0⁰ = 1? .

undercat apoia Monica
fonte
4
Você quer dizer x = 0, não n = 0.
Ruslan
2
Eu nunca encontrei essa justificativa específica para definir 0 ^ 0 = 1. Afinal, x ^ y não tem limite como (x, y) → (0,0). No entanto , se você escrever um polinômio geral no formato ∑ c_n x ^ n, em que n na soma varia de 0 a n (o grau do polinômio), torna-se essencial ter 0 ^ 0 = 1, ou então o " constante ”termo não é tão constante, afinal. Veja também aqui.
Harald Hanche-Olsen
@ HaraldHanche-Olsen Esse é um ponto muito esclarecedor, considere escrever uma resposta ou fique à vontade para editar a minha. Minha intuição decorreu do fato de que a maioria das funções na forma e ^ {αx ^ β * ln ^ {ξx ^ γ + μ}} convergirá para 1 (exceto para β = 0 e talvez outros casos extremos), e essa classe é freqüentemente encontrado em aplicativos de engenharia, ou seja, o tipo de coisa para a qual as pessoas provavelmente usarão o aplicativo da calculadora, mas entendo que isso é um pouco exagerado.
undercat suporta Monica
3
Embora essa resposta dê uma boa explicação sobre o que 0 ^ 0 é / poderia ser definido, ela não explica por que a Apple mudou sua interpretação algumas vezes.
Zr00
1
@DawoodibnKareem Meu comentário acima, e mais ao ponto, a pergunta referenciada em math.se, deve explicar por que pode ser útil ter 0 ^ 0 ser 1. É claro que essa convenção tem um preço: A expressão x ^ y é descontínuo em (0,0).
Harald Hanche-Olsen
13

A maioria das implementações da aritmética de ponto flutuante segue o padrão IEEE 754-2008, que especifica que pow (0,0) retorna 1 (consulte §9.2.1).

Mas também define duas outras funções: pown (0,0) = 1 e powr (0,0) = NaN.

A Wikipedia resume o seguinte :

O padrão de ponto flutuante IEEE 754-2008 é usado no design da maioria das bibliotecas de ponto flutuante. Ele recomenda várias operações para calcular uma potência: [20]

pow trata 0 0 como 1. Se a potência é um número inteiro exato, o resultado é o mesmo que para pown, caso contrário, o resultado é como para powr (exceto em alguns casos excepcionais).

pown trata 0 0 como 1. A potência deve ser um número inteiro exato. O valor é definido para bases negativas; por exemplo, pown (-3,5) é -243. powr trata 0 0 como NaN (Não é um número - indefinido). O valor também é NaN para casos como powr (-3,2) em que a base é menor que zero. O valor é definido por epower × log (base).

A variante pow é inspirada na função pow de C99, principalmente para compatibilidade. [21] É útil principalmente para idiomas com uma única função de energia. As variantes pown e powr foram introduzidas devido ao uso conflitante das funções de poder e aos diferentes pontos de vista (como indicado acima). [22]

É claro que isso não tem relação com o resultado matemático correto: como outros observaram, há mais de uma resposta possível, e o IEEE teve que tomar uma decisão arbitrária.

Michael Kay
fonte
5

Alguém na Apple descobriu que 0 ^ 0 é uma operação inválida e a corrigiu.

nohillside
fonte
5

Zero à potência de zero é uma contradição

  • 0 vezes qualquer número é 0
  • qualquer número para o poder 0 é 1

Isso deve gerar um erro. O único motivo pelo qual você não está vendo um erro sendo gerado deve-se ao fato de a versão da Calculadora em questão não ter interceptado esse erro de entrada.

Allan
fonte
9
O matemático (amador muito enferrujado) gostaria de argumentar que o limite de 0 ^ x é 0 quando x se aproxima de 0 e o limite de x ^ x é 1 quando x se aproxima de 0, portanto, você tem uma descontinuidade que é a própria definição de Indeterminado e aquece o meu ouvido para ver NaN por um verdadeiro oS
bmike
1
aquece o meu ouvido - imagens de ovelhas quentinhas fazendo problemas de cálculo com a sua Sheppard, @bmike :-D
Allan
2
O @MrLister “definido por alguns autores e indefinido por outros autores” é exatamente como a matemática funciona. Em quase todos os contextos, 0 ^ 0 = 1 é a definição correta (por exemplo, é o número de funções do conjunto vazio para o conjunto vazio). O fato de x ^ y não poder ser continuamente estendido para a origem é lamentável e é a razão pela qual alguns educadores de análise preferem deixá-lo indefinido para evitar confusão, mas mesmo eles precisam receber 0 ^ 0 = 1 quando chegarem à origem. série de potência.
Eike Schulte
3
@bmike Não há necessidade de envolver limites. Só porque x ^ y seria descontínuo em (0, 0) não significa que você não pode atribuir um valor a 0 ^ 0
Dennis
3
0 ^ 0 = 1 não é absolutamente uma contradição. 0 ^ 0 é um produto vazio e, portanto, 1. 0 ^ 0 é a cardinalidade do conjunto de funções do conjunto vazio para o conjunto vazio, e existe exatamente uma dessas funções . É necessário para polinômios . A lista continua.
user76284
4

Existe alguma semiconsideração sobre 0⁰ que se resume à função x ^ y com uma descontinuidade em (x, y) -> (0,0). Isso é um semiconverso, já que é um absurdo matemático proibir uma função com um valor em uma descontinuidade.

É prática geral incorporar números inteiros nos reais, de modo que uma função definida nos reais corresponda à mesma função definida nos números inteiros sempre que a função real assumir valores integrais. Portanto, há pouco sentido em distinguir 0,0 ^ 0 de 0,0 ^ 0,0.

Agora x⁰ com o número inteiro 0 como expoente é um produto que contém exatamente zero fatores de x. Como nenhum fator de x está contido em seu valor, há pouco sentido em atribuir um valor a ele, dependendo de x, e seu valor como produto vazio é claramente 1, o elemento neutro para multiplicação.

Isso também faz sentido, pois não restringe arbitrariamente o teorema do binômio a valores diferentes de zero. De certa forma, esse é um argumento baseado na tentativa de concluir a função x⁰ com sensibilidade em x = 0, tornando-a definida e contínua em todos os lugares.

Se tentarmos isso com a função 0 ^ x, o limite em x = 0 + pode ser 0, mas defini-lo como tal ainda não ajuda a curar a descontinuidade essencial, pois a função é indefinida para x negativo.

Agora, as calculadoras tendem a calcular x ^ y como exp (y * ln (x)). Claro que isso é uma má notícia para x = 0. Portanto, esses valores precisam ser explicitamente programados ou você não chegará a um número. Para a programação explícita, você deve confiar na intuição matemática do programador, e o programador típico será mais orientado pela intuição pseudomatemática como "uma função deve ser contínua onde definida" do que um matemático faria.

Além disso, você pode esperar uma enxurrada de comentários de diferentes usuários, e matemáticos puros não serão revertidos para as calculadoras devido à sua visão da verdade matemática, então você não pode esperar que a contribuição deles afaste a dos outros.

Portanto, o resultado é mais democrático do que matemático, e as maiorias democráticas tendem a mudar.


fonte