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
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
existe (par exemple en cherchant un équivalent de
un+1 - un qui vaut
)
et on définit
comme sa limite. Malheureusement, la convergence
est très lente et cette définition n'est pas applicable pour obtenir la valeur
de
avec une très grande précision.
Il y a un lien entre
et la fonction exponentielle intégrale (définie par
f (x) = 
dt) , plus
précisément lorsque
x
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 +
), car :
f (x) + ln(x) |
= |
 dt +  dt |
|
|
= |
 dt +  dt -  dt |
|
Que vaut la constante du membre de droite :
Il se trouve que C = -
(voir plus bas une démonstration condensée) et donc :
=  dt - f (x) - ln(x) |
(8.3) |
Pour obtenir une valeur approchée de
, 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(
-
+
+ ... +
) et
R(x) = - 
dt et
| R(x)|
), 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
3.6e - 12.
On a en effet pour x = x0 si
vn = e-x0
:
1 équivalent à
1équivalent à
n
x0.
Donc si x = x0 = 13 on calcule f (13) avec :
f (13)
e-13
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)
exp(-13)*sum((-1)^n*n!/13.^(n+1),n=0..13)
puis on remplace dans (8.3), avec
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 =
:
| RN| =
vn < vn+1 =
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
-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 =
qui est v10=13^11/11/11!\simeq 4.08e+03
.
On a en effet :
=
> 1 si
n2 +11n + 1 > 0 i.e. n
10 et
=
< 1 si n
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
:
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
.
On peut calculer
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é
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 |
= |
(e-t -1) dt + e-t dt |
|
|
= |
[(e-t -1)ln(t)]01 + ln(t)e-t dt + [e-tln(t)]1+ + ln(t)e-t dt |
|
|
= |
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! =
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+ - te-t( - ln(t)) dt |
|
|
= |
0 - e-t dt + te-tln(t) dt |
|
|
= |
-1 + [ e-tln(t)]0+ -  e-t( - ln(t)) dt |
|
|
= |
-1 -  e-t +  e-tln(t) dt |
|
|
= |
-1 - +  e-tln(t) dt |
|
|
= |
... |
|
|
= |
-1 - - ... - +  e-tln(t) dt |
|
|
= |
-1 - - ... - + ln(n) + In |
|
où
In =

e-t(ln(
t) - ln(
n))
dt
Pour déterminer In on fait le changement de variables t = nu
In |
= |
 e-nuln(u)n du |
|
|
= |
 en(ln(u)-u)ln(u) du |
|
Or en faisant le même changement de variables t = nu :
n! =
tne-t dt =
nn+1
en(ln(u)-u) du
Donc
In =
Lorsque n tend vers l'infini, on peut montrer que
In
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 = -
.
On peut remarquer qu'en faisant le même calcul que C
mais en remplacant e-t par
e-
t pour
(
) > 0, donne
lim In = - ln(
) (car le point critique où la dérivée
de la phase s'annule est alors
). Ceci peut aussi se vérifier
pour
réel en faisant le changement de variables
t = u

(
e-
t -1)
dt +
e-
t
dt = -

- ln(

)
En faisant tendre
vers - i,
-ln(
tend vers
ln(i) = i
et on obtient

(
eit -1)
dt +
eit
dt = -

+
i
dont la partie imaginaire nous donne (8.4), et la
partie réelle une autre identité sur
faisant intervenir
la fonction cosinus intégral.
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