next up previous contents
suivant: L'intégrale d'une fraction rationnelle monter: La moyenne arithmético-géométrique précédent: Relation entre M(a, b)   Table des matières

Application : calcul efficace du logarithme.

On peut utiliser la moyenne arithmético-géométrique pour calculer le logarithme efficacement, pour cela on cherche le développement asymptotique de K(m) lorsque m tend vers 1. Plus précisément, on montre que pour k < 1/2 :

| K - ln$\displaystyle \left(\vphantom{\frac{4}{k}}\right.$$\displaystyle {\frac{{4}}{{k}}}$$\displaystyle \left.\vphantom{\frac{4}{k}}\right)$| $\displaystyle \leq$ k2$\displaystyle \left(\vphantom{ \frac{\ln \pi}{3/4+\sqrt{3}/2} + \frac{4}{\sqrt{...
...^3}{96} + \frac{9}{20} - (\frac{1}{3/4+\sqrt{3}/2}+\frac{1}{6}) \ln(k) }\right.$$\displaystyle {\frac{{\ln \pi}}{{3/4+\sqrt{3}/2}}}$ + $\displaystyle {\frac{{4}}{{\sqrt{3} }}}$ + $\displaystyle {\frac{{\pi^3}}{{96}}}$ + $\displaystyle {\frac{{9}}{{20}}}$ - ($\displaystyle {\frac{{1}}{{3/4+\sqrt{3}/2}}}$ + $\displaystyle {\frac{{1}}{{6}}}$)ln(k)$\displaystyle \left.\vphantom{ \frac{\ln \pi}{3/4+\sqrt{3}/2} + \frac{4}{\sqrt{...
...^3}{96} + \frac{9}{20} - (\frac{1}{3/4+\sqrt{3}/2}+\frac{1}{6}) \ln(k) }\right)$ (5.3)

que l'on peut réécrire

|$\displaystyle {\frac{{\pi}}{{2M(1,k)}}}$ - ln$\displaystyle \left(\vphantom{\frac{4}{k}}\right.$$\displaystyle {\frac{{4}}{{k}}}$$\displaystyle \left.\vphantom{\frac{4}{k}}\right)$| $\displaystyle \leq$ k2(3.8 - 0.8 ln(k)) (5.4)

La formule (5.4) permet de calculer le logarithme d'un réel positif avec (presque) n bits lorsque k $ \leq$ 2-n/2 (ce à quoi on peut toujours se ramener en calculant le logarithme d'une puissance 2m-ième de x ou le logarithme de 2mx, en calculant au préalable ln(2)). Par exemple, prenons k = 2-27, on tape avec comme configuration 24 digits : M(1,2^-27)=M1:=aritgeo(1,2^-27.,1e-20)
on trouve pour M1 (en 8 itérations puisque n=8): 0.7814414037633092672168387e-1 On a, avec une erreur inférieure à 19×2-54 = 1.1×10-15

M(1, 2-27) = M1 = $\displaystyle {\frac{{\pi}}{{2\ln(2^{29})}}}$ = $\displaystyle {\frac{{\pi}}{{58\ln(2)}}}$,

On peut donc déduire une valeur approchée de $ \pi$ de celle de ln(2). Par exemple si on prend comme valeur de $ \pi$ :
3.141592653589793238462642 On obtient comme approximation de ln(2), $ {\frac{{\pi}}{{58M_1}}}$:
On tape evalf(pi)/(58*M1)
On obtient 0.6931471805599453185580364
alors que Xcas donne comme valeur de ln(2),
0.6931471805599453094172324
On remarque que l'erreur est inférieure à 1.1×10-15.

Si on veut calculer les deux simultanément, comme les relations entre ln et $ \pi$ seront des équations homogènes, on est obligé d'introduire une autre relation. Par exemple pour calculer une valeur approchée de $ \pi$ on calcule la différence ln(229 +1) - ln(229) dont on connait le développement au premier ordre, et on applique la formule de la moyenne arithmético-géométrique. Il faut faire attention à la perte de précision lorsqu'on fait la différence des deux logarithmes qui sont très proches, ainsi on va perdre une trentaine de bits, il faut grosso modo calculer les moyennes arithmético-géométrique avec 2 fois plus de chiffres significatifs.

L'intérêt de cet algorithme apparait lorsqu'on veut calculer le logarithme avec beaucoup de précision, en raison de la convergence quadratique de la moyenne arithmético-géométrique (qui est nettement meilleure que la convergence linéaire pour les développements en série, ou logarithmiquement meilleure pour l'exponentielle), par contre elle n'est pas performante si on ne veut qu'une dizaine de chiffres significatifs. On peut alors calculer les autres fonctions transcendantes usuelles, telle l'exponentielle, à partir du logarithme, ou les fonctions trigonométriques inverses (en utilisant des complexes) et directes.

On trouvera dans Brent-Zimmermann quelques considérations permettant d'améliorer les constantes dans les temps de calcul par rapport à cette méthode (cela nécessite d'introduire des fonctions spéciales $ \theta$) et d'autres formules pour calculer $ \pi$.


next up previous contents
suivant: L'intégrale d'une fraction rationnelle monter: La moyenne arithmético-géométrique précédent: Relation entre M(a, b)   Table des matières
Documentation de giac écrite par Renée De Graeve