next up previous contents index
suivant: Solution de f (x) monter: Développements asymptotiques et séries précédent: Un exemple:la fonction exponentielle   Table des matières   Index


Le calcul approché de la constante d'Euler $ \gamma$

Pour d'autres méthodes concernant le calcul approché de la constante d'Euler voir aussi 8.3.4 et 10.2.3.
On peut montrer que

$\displaystyle \lim_{{n\rightarrow +\infty}}^{}$un,    un = $\displaystyle \sum_{{k=1}}^{{n}}$$\displaystyle {\frac{{1}}{{k}}}$ - ln(n) (8.2)

existe (par exemple en cherchant un équivalent de un+1 - un qui vaut $ {\frac{{-1}}{{2n^2}}}$) et on définit $ \gamma$ comme sa limite. Malheureusement, la convergence est très lente et cette définition n'est pas applicable pour obtenir la valeur de $ \gamma$ avec une très grande précision. Il y a un lien entre $ \gamma$ et la fonction exponentielle intégrale (définie par f (x) = $ \int_{x}^{{+\infty}}$$ {\frac{{e^{-t}}}{{t}}}$ dt) , plus précisément lorsque x $ \rightarrow$ 0, f (x) admet -ln(x) comme singularité, plus précisément f (x) + ln(x) admet un développement en séries (de rayon de convergence + $ \infty$), car :
f (x) + ln(x) = $\displaystyle \int_{x}^{{1}}$$\displaystyle {\frac{{e^{-t}-1}}{{t}}}$ dt + $\displaystyle \int_{1}^{{+\infty}}$$\displaystyle {\frac{{e^{-t}}}{{t}}}$ dt  
  = $\displaystyle \int_{0}^{{1}}$$\displaystyle {\frac{{e^{-t}-1}}{{t}}}$ dt + $\displaystyle \int_{1}^{{+\infty}}$$\displaystyle {\frac{{e^{-t}}}{{t}}}$ dt - $\displaystyle \int_{0}^{{x}}$$\displaystyle {\frac{{e^{-t}-1}}{{t}}}$ dt  

Que vaut la constante du membre de droite :

C = $\displaystyle \int_{0}^{{1}}$(e-t -1)$\displaystyle {\frac{{1}}{{t}}}$ dt + $\displaystyle \int_{1}^{{+\infty}}$e-t$\displaystyle {\frac{{1}}{{t}}}$ dt

Il se trouve que C = - $ \gamma$ (voir plus bas une démonstration condensée) et donc :

$\displaystyle \gamma$ = $\displaystyle \int_{0}^{{x}}$$\displaystyle {\frac{{1-e^{-t}}}{{t}}}$ dt - f (x) - ln(x) (8.3)

Pour obtenir une valeur approchée de $ \gamma$, il suffit donc de prendre un x assez grand pour pouvoir calculer f (x) par son développement asymptotique à la précision requise ( f (x)S(x) + R(x) avec S(x) = e-x($ {\frac{{1}}{{x}}}$ - $ {\frac{{1}}{{x^2}}}$ + $ {\frac{{2}}{{x^3}}}$ + ... + $ {\frac{{(-1)^n n!}}{{x^{n+1}}}}$) et R(x) = - $ \int_{x}^{{+\infty}}$$ {\frac{{(-1)^n n!e^{-t}}}{{t^{n+1}}}}$ dt et | R(x)| $ \leq$ $ {\frac{{n!e^{-x}}}{{x^{n+1}}}}$), puis de calculer l'intégrale du membre de droite par le développement en séries en x = 0 (en utilisant une précision intermédiaire plus grande puisque ce développement en séries va sembler diverger au début avant de converger pour n suffisamment grand).

Exemple1 : on pose x = 13.
On calcule f (13) par (8.1) avec n = 13 et une erreur absolue inférieure à e-1313!/1314 $ \leq$ 3.6e - 12.
On a en effet pour x = x0 si vn = e-x0$ {\frac{{n!}}{{x_0^{n+1}}}}$ :
$ {\frac{{v_n}}{{v_{n-1}}}}$ $ \leq$ 1 équivalent à $ {\frac{{n}}{{x_0}}}$ $ \leq$ 1équivalent à n $ \leq$ x0.
Donc si x = x0 = 13 on calcule f (13) avec :
f (13) $ \simeq$ $ \sum_{{n=0}}^{{13}}$e-13$ {\frac{{(-1)^n n!}}{{x^{n+1}}}}$ Ou bien, on tape :
Digits:=2; puis
exp(-13)*n!/13.^(n+1))$(n=0..20) renvoie :
1.7e-07,1.3e-08,2.1e-09,4.7e-10,1.5e-10,5.6e-11,2.6e-11,
1.4e-11,8.6e-12,5.9e-12,4.6e-12,3.9e-12,3.6e-12, 3.6e-12,
3.8e-12,4.4e-12,5.5e-12,7.1e-12,9.9e-12,1.4e-11,2.2e-11
donc

f (13) $ \approx$ exp(-13)*sum((-1)^n*n!/13.^(n+1),n=0..13)
puis on remplace dans (8.3), avec

$\displaystyle \int_{0}^{{x}}$$\displaystyle {\frac{{1-e^{-t}}}{{t}}}$ dt = $\displaystyle \sum_{{n=0}}^{{\infty}}$(- 1)n$\displaystyle {\frac{{x^{n+1}}}{{(n+1) (n+1)!}}}$

dont on obtient une valeur approchée, en faisant la somme jusqu'au rang 49, le reste de cette somme R50 est positif et est inférieur à 13.^51/51/51!) qui est de l'ordre de 8.2e-12. On a en effet si vn = $ {\frac{{13^{n+1}}}{{(n+1)(n+1)!}}}$ :
| RN| = $ \sum_{{n=N+1}}^{\infty}$vn < vn+1 = $ {\frac{{13^{N+2}}}{{(N+2)(N+2)!}}}$ et | R49| < 8.2e - 12.
evalf(sum((-1)^n*13^(n+1)/(n+1)/(n+1)!,n=0..49))
La somme argument de evalf étant exacte, il n'y a pas de problèmes de perte de précision.
On obtient finalement comme valeur approchée de $ \gamma$
-exp(-13)*sum((-1)^n*n!/13.^(n+1),n=0..13)-ln(13.)+
evalf( sum((-1)^n*13^(n+1)/(n+1)/(n+1)!,n=0..49))
On choisit alors 12 chiffres significatif et on tape :
Digits:=12; f13:=exp(-13.)*evalf(sum((-1)^n*n!/13^(n+1),n=0..13)) I13:=evalf(sum((-1)^*13^(n+1)/(n+1)/(n+1)!,n=0..49))
La constante d'Euler vaut donc à 1.2e-11 près :
-f13-ln(13.)+I13
On obtient :
0.577215664897
On tape :
evalf(euler_gamma)
On obtient :
0.5772156649018
soit 0.57721566489 avec une erreur inférieure à 1.2e-11.

Exemple2 : on pose x = 40.
On tape :
r40:=(exp(-40.)*40!/40.^41) on obtient r40 inférieur à 7.2e-36
On choisit alors 36 chiffres significatif et on tape :
Digits:=36;
f40:=exp(-40.)*evalf(sum((-1)^n*n!/40^(n+1),n=0..40))
puisque :
40.^168/168./168! est inférieur à 3.3e-36, on tape :
I40:=evalf(sum((-1)^n*40^(n+1)/(n+1)/(n+1)!,n=0..166))
La constante d'Euler vaut donc à (7.2+3.3)e-36 près:
-f40-ln(40.)+I40
On obtient avec une erreur inférieure à 1.1e-35:
0.5772156649015328606065120900824024285
On tape :
evalf(euler_gamma)
On obtient :
0.5772156649015328606065120900824024308

Remarques La somme argument de evalf étant exacte, il n'y a pas de problèmes de perte de précision, on peut aussi faire les calculs intermédiaires en arithmétique approchée, lorsque x=13 on doit alors prendre 4 chiffres significatifs de plus (pour tenir compte de la valeur du plus grand terme sommé dans la série vn = $ {\frac{{13^{n+1}}}{{(n+1)(n+1)!}}}$ qui est v10=13^11/11/11!\simeq 4.08e+03.
On a en effet :
$ {\frac{{v_n}}{{v_{n-1}}}}$ = $ {\frac{{13*n}}{{(n+1)^2}}}$ > 1 si n2 +11n + 1 > 0 i.e. n $ \leq$ 10 et
$ {\frac{{v_n}}{{v_{n-1}}}}$ = $ {\frac{{13*n}}{{(n+1)^2}}}$ < 1 si n $ \geq$ 11
On tape avec des calculs intermédiaires en arithmétique approchée :

Digits:=16; sum((-1)^n*13.^(n+1)/(n+1)/(n+1)!,n=0..49)
On obtient dans ce cas comme valeur approchée de $ \gamma$ : 0.57721566489675213
Bien entendu, cette méthode avec des calculs intermédiaires en arithmétique approchée est surtout intéressante si on veut calculer un grand nombre de décimales de la constante d'Euler c'est à dire quand on prend x=x0 tres grand, sinon on peut par exemple appliquer la méthode d'accélération de Richardson (cf 10.2.3) à la suite convergente (8.2) qui définit $ \gamma$.

On peut calculer $ \pi$ de la même manière avec le développement en séries et asymptotique de la fonction sinus intégral (on remplace exponentielle par sinus dans la définition de f, voir plus bas une démonstration condensée) et l'égalité

$\displaystyle \int_{0}^{{+\infty}}$$\displaystyle {\frac{{\sin(t)}}{{t}}}$ dt = $\displaystyle {\frac{{\pi}}{{2}}}$ (8.4)

Calcul de C (et preuve de (8.4)) :
Pour cela on effectue une intégration par parties, cette fois en intégrant 1/t et en dérivant l'exponentielle (moins 1 dans la première intégrale).

C = $\displaystyle \int_{0}^{{1}}$(e-t -1)$\displaystyle {\frac{{1}}{{t}}}$ dt + $\displaystyle \int_{1}^{{+\infty}}$e-t$\displaystyle {\frac{{1}}{{t}}}$ dt  
  = [(e-t -1)ln(t)]01 + $\displaystyle \int_{0}^{1}$ln(t)e-t dt + [e-tln(t)]1+$\scriptstyle \infty$ + $\displaystyle \int_{1}^{{+\infty}}$ln(t)e-t dt  
  = $\displaystyle \int_{0}^{{+\infty}}$ln(t)e-t dt  

Pour calculer cette intégrale, on utilise l'égalité (qui se démontre par récurrence en faisant une intégration par parties) :

n! = $\displaystyle \int_{0}^{{+\infty}}$tne-t dt

On va à nouveau intégrer par parties, on intègre un facteur 1 et on dérive l'intégrand, on simplifie, puis on intègre t et on dérive l'autre terme, puis t2/2, etc.
C = [te-tln(t)]0+$\scriptstyle \infty$ - $\displaystyle \int_{0}^{{+\infty}}$te-t($\displaystyle {\frac{{1}}{{t}}}$ - ln(t)) dt  
  = 0 - $\displaystyle \int_{0}^{{+\infty}}$e-t dt + $\displaystyle \int_{0}^{{+\infty}}$te-tln(tdt  
  = -1 + [$\displaystyle {\frac{{t^2}}{{2}}}$e-tln(t)]0+$\scriptstyle \infty$ - $\displaystyle \int_{0}^{{+\infty}}$$\displaystyle {\frac{{t^2}}{{2}}}$e-t($\displaystyle {\frac{{1}}{{t}}}$ - ln(t)) dt  
  = -1 - $\displaystyle \int_{0}^{{+\infty}}$$\displaystyle {\frac{{t}}{{2}}}$e-t + $\displaystyle \int_{0}^{{+\infty}}$$\displaystyle {\frac{{t^2}}{{2}}}$e-tln(tdt  
  = -1 - $\displaystyle {\frac{{1}}{{2}}}$ + $\displaystyle \int_{0}^{{+\infty}}$$\displaystyle {\frac{{t^2}}{{2}}}$e-tln(tdt  
  = ...  
  = -1 - $\displaystyle {\frac{{1}}{{2}}}$ - ... - $\displaystyle {\frac{{1}}{{n}}}$ + $\displaystyle \int_{0}^{{+\infty}}$$\displaystyle {\frac{{t^n}}{{n!}}}$e-tln(tdt  
  = -1 - $\displaystyle {\frac{{1}}{{2}}}$ - ... - $\displaystyle {\frac{{1}}{{n}}}$ + ln(n) + In  

In = $\displaystyle \int_{0}^{{+\infty}}$$\displaystyle {\frac{{t^n}}{{n!}}}$e-t(ln(t) - ln(n)) dt

Pour déterminer In on fait le changement de variables t = nu
In = $\displaystyle \int_{0}^{{+\infty}}$$\displaystyle {\frac{{(nu)^n}}{{n!}}}$e-nuln(u)n du  
  = $\displaystyle {\frac{{n^{n+1}}}{{n!}}}$$\displaystyle \int_{0}^{{+\infty}}$en(ln(u)-u)ln(udu  

Or en faisant le même changement de variables t = nu :

n! = $\displaystyle \int_{0}^{{+\infty}}$tne-t dt = nn+1$\displaystyle \int_{0}^{{+\infty}}$en(ln(u)-u) du

Donc

In = $\displaystyle {\frac{{\int_0^{+\infty} e^{n(ln(u)-u)} \ln(u)  du}}{{\int_0^{+\infty} e^{n(ln(u)-u)}  du}}}$

Lorsque n tend vers l'infini, on peut montrer que In $ \rightarrow$ 0, en effet les intégrales sont équivalentes à leur valeur sur un petit intervalle autour de u = 1, point où l'argument de l'exponentielle est maximal, et comme l'intégrand du numérateur a une amplitude ln(u) qui s'annule en u = 1, il devient négligeable devant le dénominateur. Finalement on a bien C = - $ \gamma$.
On peut remarquer qu'en faisant le même calcul que C mais en remplacant e-t par e-$\scriptstyle \alpha$t pour $ \Re$($ \alpha$) > 0, donne lim In = - ln($ \alpha$) (car le point critique où la dérivée de la phase s'annule est alors $ {\frac{{1}}{{\alpha}}}$). Ceci peut aussi se vérifier pour $ \alpha$ réel en faisant le changement de variables $ \alpha$t = u

$\displaystyle \int_{0}^{{1}}$(e-$\scriptstyle \alpha$t -1)$\displaystyle {\frac{{1}}{{t}}}$ dt + $\displaystyle \int_{1}^{{+\infty}}$e-$\scriptstyle \alpha$t$\displaystyle {\frac{{1}}{{t}}}$ dt = - $\displaystyle \gamma$ - ln($\displaystyle \alpha$)

En faisant tendre $ \alpha$ vers - i, -ln($ \alpha$ tend vers ln(i) = i$ {\frac{{\pi}}{{2}}}$ et on obtient

$\displaystyle \int_{0}^{{1}}$(eit -1)$\displaystyle {\frac{{1}}{{t}}}$ dt + $\displaystyle \int_{1}^{{+\infty}}$eit$\displaystyle {\frac{{1}}{{t}}}$ dt = - $\displaystyle \gamma$ + i$\displaystyle {\frac{{\pi}}{{2}}}$

dont la partie imaginaire nous donne (8.4), et la partie réelle une autre identité sur $ \gamma$ faisant intervenir la fonction cosinus intégral.


next up previous contents index
suivant: Solution de f (x) monter: Développements asymptotiques et séries précédent: Un exemple:la fonction exponentielle   Table des matières   Index
Documentation de giac écrite par Renée De Graeve