Notation des puissances itérées de Knuth

De testwiki
Version datée du 30 octobre 2024 à 12:33 par 193.54.176.31 (discussion) (Parenthèses et associativité : expression pas claire du tout, à réécrire)
(diff) ← Version précédente | Version actuelle (diff) | Version suivante → (diff)
Aller à la navigation Aller à la recherche

En mathématiques, la notation des puissances itérées de Knuth est une notation qui permet d'écrire de très grands entiers et qui a été introduite par Donald Knuth en 1976. L'idée de cette notation est fondée sur la notion d'exponentiation répétée, au même titre que l'exponentiation consiste en une multiplication itérée ou la multiplication en une addition itérée.

Introduction

Si une rangée de dominos représente un nombre, « incrémenter » ce nombre consiste à ajouter un domino.

Itération d'une fonction simple

L'itération d'une fonction simple est utilisée en arithmétique pour définir une opération plus complexe. À partir de la fonction successeur, qui permet de construire les entiers naturels par incrémentations[1] successives, l'addition est ainsi définie comme une incrémentation itérée :

a+b=a+1+1++1  b exemplaires de 1

La multiplication est définie comme une addition itérée :

a×b=a+a++a  b exemplaires de a

De même, l'exponentiation est définie comme une multiplication itérée :

ab=a×a××a b exemplaires de a

Généralisation

À partir de l'incrémentation comme opération primitive, les itérations successives permettent de définir d'abord l'addition, puis la multiplication, puis l'exponentiation. Knuth a voulu généraliser ce principe ; pour cela il a introduit une notation nouvelle pour l’exponentiation, la flèche vers le haut :

ab=ab

qu'il peut ainsi généraliser, utilisant la double flèche vers le haut pour l'exponentiation itérée — qu'il appelle la tétration :

ab=aaa=aa...a   b exemplaires de a

Conformément à cette définition, on obtient :

32=33=27
33=333=327=7625597484987
34=3333=37625597484987
35=33333
etc.

Le terme 34=3333 est de la forme 12580...39387 et a 3638334640025 chiffres[2], soit plus de 3,6×1012 (3600 milliards) de chiffres décimaux.

Cela permet assurément d'écrire de très grands nombres, mais Knuth ne s'est pas arrêté là. Il a poursuivi en définissant l'opérateur triple flèche vers le haut qui est l'application itérée de l'opérateur double flèche vers le haut :

ab=aaa=a(a(a))) b exemplaires de a (les opérations étant effectuées de la droite vers la gauche)

puis il a poursuivi avec l'opérateur quadruple flèche vers le haut :

ab=aaab exemplaires de a

et ainsi de suite. La règle générale stipule que l'opérateur[3] n-flèche b est une suite de b opérateurs (n − 1)-flèches. Plus généralement,

a  b=a  a  a  a  a  n   n1 n1   n1     b exemplaires de a

Commutativité

L'exponentiation n'est pas commutative : si a et b sont différents, ab est différent de ba. Il en est de même pour les opérateurs qui suivent :, , , etc.

Parenthèses et associativité

Même si aucune parenthèse n'est écrite, les calculs sont associés prioritairement à droite pour chacun des opérateurs , , , etc.

Exemple : 3234 = 3(2(34)))

En effet, l'exponentiation n'est pas associative, par conséquent l’ordre dans lequel les opérations sont effectuées est important. Ainsi 3(23) (à savoir 38=6561) n'est pas (32)3 (à savoir 93=729). Dans ce qui précède, les opérations sont effectuées de la droite vers la gauche, autrement dit, on associe les parenthèses de la droite vers la gauche.

Remarquons qu'en vertu des règles de la puissance, on obtient (32)3 = (32)×(32)×(32) = 3(2×3). Si on choisissait l'association prioritaire à gauche, cela rapporterait le deuxième opérateur de puissance à une 'simple' opération de multiplication. La croissance d'une puissance est plus forte quand on fait croître le terme de droite (c'est à l'origine de la non-commutativité) :

3(23) = 3(2×2×2) = 38 est supérieur à (32)3 = (3×3)3 = 93 .

L'association est choisie prioritaire à droite. Le résultat de 323 sera donc 6 561 et non 729.

Définition des puissances itérées

Les puissances itérées de Knuth sont définies formellement de la façon suivante :

anb={absi n=11 si b=0an1(an(b1))sinon 

pour tous entiers a, b et nb ≥ 0 et n ≥ 1.

Cette famille de fonctions peut se définir par un programme itératif :

function Knuth(rang: naturel; a, b: naturel) : naturel
begin
if rang = 1
then R = a^b
else begin
    RR:= 1 (* 1 est élément neutre à droite pour l'exponentiation *)
    (* Application b fois de l'opérateur à gauche "a Knuth(rang-1)" *)
    for compteur := 1 to b do R := Knuth(rang-1, a, R)
    end
return R
end.

ou par un programme récursif (en Haskell par exemple) :

(↑) :: Integer -> (Integer, Integer) -> Integer
a ↑ (1,b) = a^b
_ ↑ (_,0) = 1
a ↑ (n,b) = a ↑ (n-1,a ↑ (n,b-1))

Remarques sur la notation

Dans une expression ab, on écrit l'exposant b en lettre supérieure[4]. Mais beaucoup d'environnements, comme les langages de programmation et les courriels en format de texte brut, ne supportent pas cet agencement bidimensionnel. Ils ont donc proposé une notation linéaire, a**b pour Fortran et ab pour d'autres environnements ; la flèche dirigée vers le haut suggère l'élévation à une puissance. Si le jeu de caractères ne contient pas de flèche, l'accent circonflexe ^ ou les deux astérisques ** sont utilisés.

Une autre notation utilisée dans cet article est ↑n pour indiquer un opérateur flèche d'ordre n (où ↑1 équivaut à ↑ seul).

Comme nous l'avons dit plus haut, tous ces opérateurs (y compris l'exponentiation classique ab) ne sont pas associatifs, et, en l'absence de parenthèses, doivent être associés, de droite à gauche, c'est-à-dire que l'évaluation se fait de la droite vers la gauche pour une expression qui contient au moins deux de ces opérateurs. Par exemple, abc signifie a↑(bc), et non (ab)↑c qui serait alors écrit a↑(b×c) :

33=323=333 vaut 3(33)=327=7625597484987 et non (33)3=273=3(33)=39=19683.

Il existe une bonne raison de choisir cette évaluation de droite à gauche ; en effet, si le choix avait été de gauche à droite, alors a↑↑b aurait signifié a↑(a↑(b-1)) et ↑↑ n'aurait pas été un nouvel opérateur.

Généralisations de la notation de Knuth

Certains nombres sont si grands que la notation en flèche de Knuth devient trop encombrante pour les décrire. C'est par exemple le cas du nombre de Graham. Les flèches chaînées de Conway peuvent alors être utilisées.

anb=abn(Knuth)(Conway)

La flèche de Knuth sera utilisée pour les nombres petits par rapport à ceux-là, tandis que les flèches chaînées seront adaptées aux plus grands ; lorsque ces notations elles-mêmes deviennent insuffisantes, comme c'est par exemple le cas pour les suites de Goodstein, il est encore possible d'employer la hiérarchie de croissance rapide (qui revient à peu près à définir la notation aαb, où α est un nombre ordinal quelconque).

Références

Modèle:Références

Bibliographie

Voir aussi

Articles connexes

Liens externes

Modèle:Portail

  1. L'incrémentation est l’opération qui consiste à ajouter 1 à un nombre. Par exemple, dans une notation des entiers par des dominos (ou des petits cailloux), elle consisterait à ajouter un domino (ou un caillou).
  2. Suite A014222 dans l'Encyclopédie en ligne des suites de nombres entiers.
  3. Nous omettons le qualificatif « vers le haut ».
  4. « Lettre supérieure » est l'expression consacrée en typographie.