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?
Verifiquei o resultado de 0 ^ 0 na calculadora em diferentes versões:
Qual o motivo da diferença?
Respostas:
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? .
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.
Alguém na Apple descobriu que 0 ^ 0 é uma operação inválida e a corrigiu.
Zero à potência de zero é uma contradição
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.
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.