Powers of Powers of two

On m’a fait remarquer l’autre jour que je suis le seul gugusse à utiliser des puissances de deux:

Graphe en échelle log-log de base deux illustrant une étude de convergence en espace d'un schéma nuérique. La grille du graphe contient 4 × 8 cellules.

Fig. 1 — Puissances de deux dans un graphe illustrant un étude de convergence.

Et que je devrait plutôt utiliser des puissances de dix:

Graphe en échelle log-log de base dix illustrant la même étude de convergence illustrée dans la figure précédente. La grille du graphe ne contient plus que 2 × 3 cellules.

Fig. 2 — Puissances de dix dans un graphe illustrant une étude de convergence.

Pourtant, je ne vois que des avantages à utiliser des puissances de deux. Voici mes arguments.

Lecture dans les graphes

Les figures 1 et 2 illustrent une étude de convergence où l’on s’intéresse plus précisément à l’ordre de convergence:

Convergence du 1er ordre.
Si le pas d’espace est divisé par deux, alors l’erreur est divisée par deux.
Convergence du 2e ordre.
Si le pas d’espace est divisé par deux, alors l’erreur est divisée par quatre.

(On voit déjà dans ces définitions les puissances de deux apparaître.) Dans les graphes, ces définitions se traduisent par:

Convergence du 1er ordre.
La courbe descend d’une graduation horizontale pour chaque graduation verticale traversée.
Convergence du 2e ordre.
La courbe descend de deux graduations horizontale pour chaque graduation verticale traversée.

En utilisant les puissances de deux, on produit une grille plus fine (Fig. 1) et l’estimation de l’ordre en est plus aisée.

Lecture dans les tables

L’écriture des nombres flottants peuvent se faire en base dix ou en base deux. Les tables 1 et 2 ci-dessous présentent les résultats de l’étude de convergence précédente sous forme de tables.

Tab. 1 — Étude de convergence: représentation en base dix.
h_x ε² = 0.02 ε² = 0.01 ε² = 0.005
0.04 2.819781238969999758e-04 5.676906430740000101e-04 1.138312849999999904e-03
0.02 7.047823321530000259e-05 1.412152670470000009e-04 2.819867501720000062e-04
0.01 1.761621382530000093e-05 3.525989172839999924e-05 7.048684019949999653e-05
0.005 7.813190607890000729e-06 8.812222975330000758e-06 1.762373719630000061e-05

Lorqu’on utilise des puissances de dix (Tab. 1), vérifier l’ordre de convergence n’est pas imméditat: il est nécessaire de faire un calcul mental pour le vérifier.

Tab. 2 — Étude de convergence: représentation en base deux.
h_x ε² = 0.02 ε² = 0.01 ε² = 0.005
0.04 0x1.27aced200d292p-12 0x1.29a225f850e45p-11 0x1.2a66e1da7cc30p-10
0.02 0x1.279b6d3b389fcp-14 0x1.28265e8467c9ep-13 0x1.27af3deb16095p-12
0.01 0x1.278d0ff034cd1p-16 0x1.27c80a79892b9p-15 0x1.27a4ab19e3f7bp-14
0.005 0x1.062acbd8c8940p-17 0x1.27b06b41800fbp-17 0x1.27ad5ff8e21dap-16

Lorqu’on utilise des puissances de deux (Tab. 2), vérifier l’ordre de convergence est plus facile: d’une ligne à l’autre, les exposants décroissent de deux en deux et les mantisses sont à peu près les mêmes. Cette facilité de lecture permet en outre de repérer que l’erreur sature dans le cas ε² = 0.02.

Évaluation du niveau d’erreur

On peut être, à juste titre, perdu dans l’évaluation du niveau d’erreur. Voici une table de convertion.

Tab. 3 — Correspondances des niveaux d’erreurs.
Base 10 10⁻⁰³ 10⁻⁰⁶ 10⁻⁰⁹ 10⁻¹² 10⁻¹⁵
Base 2 2⁻¹⁰ 2⁻²⁰ 2⁻³⁰ 2⁻⁴⁰ 2⁻⁵⁰

Facile, non?

links

social