Zéro puissance zéro

Zéro à la puissance zéro, noté 00, est une expression mathématique qui vaut 1. Plusieurs justifications existent à ce fait et sont décrites dans cet article. En revanche, en analyse, l'expression f(t)g(t) peut ne pas avoir comme limite 1 lorsque f(t) et g(t) tendent vers 0, ce qui a conduit certains auteurs à laisser l'expression 00 comme non définie. Ce point de vue est toutefois très minoritaire.

Exposants entiers 
De nombreuses formules impliquant des entiers naturels nécessitent de définir 00 = 1. Par exemple, si l'on voit b0 comme un produit vide, il faut le définir comme étant 1, même lorsque . En combinatoire, b0 est le nombre de 0-uplets dans un ensemble à b éléments ; il y en a exactement un, même si . De manière équivalente, l'interprétation de 00 dans la théorie des ensembles est le nombre de fonctions de l'ensemble vide dans l'ensemble vide ; il y a exactement une telle fonction, la fonction vide.

Polynômes et séries entières 
De façon similaire, il est souvent nécessaire de définir 00 = 1 quand on travaille avec des polynômes.

Un polynôme est une expression de la forme  où  est l'indéterminée et les coefficients  sont des nombres réels (ou plus généralement des éléments d'un anneau). L'ensemble de ces polynômes est noté  et forme lui-même un anneau. Le polynôme  est l'unité de cet anneau, en d'autres termes c'est l'unique élément vérifiant la propriété suivante :  multiplié avec n'importe quel autre polynôme  donne simplement . Les polynômes peuvent être « évalués » en remplaçant X par n'importe quel nombre réel. Plus précisément, étant donné un nombre réel , il existe un unique morphisme d'anneaux  tel que , appelé morphisme d'évaluation. Étant un morphisme d'anneaux, il satisfait alors . En résumé,  pour toutes les spécialisations de x en un nombre réel, y compris x = 0.

Cette perspective est importante pour de nombreuses identités polynomiales en combinatoire. Par exemple, la formule du binôme de Newton  n'est valable pour  que si . De même, la définition des anneaux de séries entières demandent que  pour toute valeur de x. Ainsi, les identités comme  et  ne sont valables en x = 0 que si .

Exposants réels 

Les limites faisant appel à des opérations algébriques peuvent souvent être évaluées en remplaçant des sous-expressions par des limites. Si l'expression qui en résulte ne permet pas de déterminer la limite initiale, l'expression est appelée une forme indéterminée.

Lorsque f et g sont des fonctions à valeurs réelles qui tendent toutes deux vers 0 en un certain point t pouvant être un nombre réel ou ±∞ (avec ), alors la fonction f(t)g(t) n'a pas forcément comme limite 1. Suivant l'expression exacte de f et g, la limite de f(t)g(t) peut être n'importe quel nombre réel positif, ou +∞, ou diverger. Par exemple, les fonctions ci-dessous sont de la forme f(t)g(t) avec  quand , mais les limites sont différentes :
.

En d'autres termes, la fonction de deux variables , qui est continue sur l'ensemble  ne peut être prolongée en une fonction continue en . Toutefois, sous certaines conditions, par exemple lorsque f et g sont deux fonctions analytiques et f est positive sur un intervalle ouvert , la limite à droite est toujours 1.

Exposants complexes 
Dans le plan complexe, la fonction zw peut être définie pour les z non nuls en choisissant une branche de log z puis en prenant zw = . Cela ne permet pas de définir 0w car il n'y a pas de branche de  définie en , et encore moins dans un voisinage de 0.

Histoire de différents points de vue 
Le débat sur la définition de  existe depuis au moins le . À l'époque, la plupart des mathématiciens étaient d'accord avec le fait que , jusqu'à 1821 quand Cauchy lista  dans une table des formes indéterminées, au même rang que . Dans les années 1830, Libri publia un argument, peu convaincant, pour démontrer que . Möbius prit son parti, affirmant que  si . Un commentateur, qui signa simplement « S », fournit le contre-exemple , ce qui calma le débat pour quelque temps. Plus de détails historiques se trouvent dans les travaux de Donald Knuth (1992).

Aujourd'hui, les mathématiciens interprètent les arguments ci-dessus de deux manières :
 certains disent que la valeur de  dépend du contexte, et donc que définir l'expression pose problème ;
 d'autres (et particulièrement Donald Knuth) pensent que  devrait toujours être défini comme étant égal à 1.

Dans les programmes informatiques

Standard IEEE sur les nombres à virgule flottante 
La norme IEEE 754 sur les nombres à virgule flottante est utilisée dans la conception de la plupart des bibliothèques qui traitent ces nombres. Elle recommande un certain nombre d'opérations pour calculer une puissance :
 pow définit 00 comme étant égal à 1. Si la puissance est un entier, le résultat est le même que pour la fonction pown, sinon le résultat est le même que pour powr (sauf certains cas exceptionnels).
 pown définit 00 comme étant égal à 1. La puissance doit nécessairement être un entier. La valeur est définie pour les bases négatives ; par exemple, pown(-3,5) est -243.
 powr traite 00 comme étant NaN (Not-a-Number – non défini). Le résultat est aussi NaN pour les cas comme powr(-3,2) où la base est négative. La valeur est définie par eexposant×log(base).
La variante pow est inspirée par la fonction pow fonction de la norme C99, principalement à des fins de compatibilité. Elle est surtout utile pour les langages de programmation avec une seule fonction « puissance ». Les variantes pown et powr ont été introduites en raison de conflits d'utilisation de la fonction puissance et des différents points de vue indiqués ci-dessus.

Dans les langages de programmation 
Les bibliothèques standard du C et du C++ ne spécifient pas le résultat de 00 (une erreur de domaine peut se produire). Dans la norme C99, plus précisément son annexe normative F, le résultat est demandé être égal à 1, car cette valeur est plus utile que NaN pour les applications les plus importantes (par exemple, avec des puissances entières). Le standard Java et la méthode Système.Math.Pow du framework .NET traitent aussi 00 comme étant égal à 1.

Logiciels mathématiques 
 SageMath simplifie b0 en 1, même si des contraintes sont placées sur b. Il prend 00 comme étant égal à 1, mais ne simplifie pas 0x pour d'autres valeurs de x.
 Maple fait la distinction entre les entiers 0, 1, ... et les flottants 0.0, 1.0, ... (généralement notés 0., 1., ...). Si x ne s'évalue pas en un nombre, alors les expressions x0 et x0.0 sont respectivement évaluées en 1 (entier) et 1.0 (float). D'autre part, l'expression 0x est évaluée en l'entier 0, alors que 0.0x est évalué comme 0.x. Si à la fois la base et l'exposant sont égaux à zéro (ou s'évaluent en zéro), le résultat est de type Float(non défini) si l'exposant est le float 0.0 ; avec un entier comme exposant, l'évaluation de 00 donne l'entier 1, tandis que celle de 0.0 donne le float 1.0.
 Macsyma simplifie également b0 en 1, même si aucune contrainte n'est placée sur b, mais émet un message d'erreur pour 00. Pour x>0, il simplifie 0x en 0.
 Mathematica et WolframAlpha simplifient b0 en 1, même si des contraintes sont placés sur b. Alors que Mathematica ne simplifie pas 0x, WolframAlpha retourne deux résultats, 0 pour , et « indéterminé » pour un nombre réel x. Mathematica et WolframAlpha déclarent tous les deux 00 comme étant une « forme indéterminée ».
 Matlab, Python, Magma, GAP, Singular, PARI/GP et les calculatrices de Google et des iPhone évaluent 00 en 1.

Références 

Exponentielle
Zéro