suivant: Méthodes d'accélération de convergence
monter: Les séries
précédent: Les sommes partielles
Table des matières
Index
On suppose que un = f (n) et que f (n) admet un développement limité
à tous les ordres par rapport à 1/n.
On suppose que
uk
a/kp et on pose :
vk = uk -
On a alors,
vk = O(
) et on connait :

En effet :
=
(
-
)
donc

=
(
) =
et,

=
On a :
uk =
+
vk
On peut ensuite continuer à appliquer la même méthode à vk.
Exercice
Utiliser cette méthode pour calculer numériquement :

.
On va faire "à la main " trois accélérations successives.
On pose :
uk =
- 1-ière accélération :
vk = uk -
, et donc
vk =
uk = 1 +
vk
- 2-ième accélération :
wk = vk -
, et donc
wk =
uk = 1 +
+
wk
- 3-ième accélération :
tk = wk -
, et donc
tk =
uk = 1 +
+
+
tk
On tape :
u(k):=1/(k+1)^
2
On tape :
v(k):=1/((k+1)^
2*(k+2))
On tape :
w(k):=2/((k+1)^
2*(k+2)*(k+3))
On tape :
t(k):=6/((k+1)^
2*(k+2)(k+3)(k+4))
On compare
et les valeurs obtenues pour n = 200, car on sait
que :
S = 
=
1.64493406685
On tape :
serie_sum(u,0,200)
On obtient S à 5*10-3 prés (1 décimale exacte) :
1.63997129788
On tape :
1+serie_sum(v,0,200)
On obtient S à
1.25*10-5 prés (4 décimales exactes) :
1.64492179293
On tape :
1+1/4+serie_sum(w,0,200)
On obtient S à
8.3*10-8 prés (5 décimales exactes) :
1.64493398626
On tape :
1+1/4+1/9+serie_sum(t,0,200)
On obtient S à
9.2*10-10 prés (8 décimales exactes) :
1.64493406596
Les erreurs
Si on compare la somme
1/(k + 1)2 à une intégrale on a :
Ou encore, on peut aussi remarquer que :
puisque
=
-
.
Au bout de la p-ième accéleration on calcule la somme de :
uk(p) =
et on a :
Et puisque :
On a :
Donc
un(p) <
On vérifie (
1.64493406685) :
1.63997129788 <
< 1.63997129788 + 1/201 = 1.64494642226
1.64492179293 <
< 1.64492179293 + 1/(2*2012) = 1.64493416886
1.64493398626 <
< 1.64493398626 + 2/(3*2013) = 1.64493406836
1.64493406596 <
< 1.64493406596 + 6/(4*2014) = 1.64493406688
Le programme
On peut écrire un programme qui va demander le nombre d'accélérations
pour calculer
1/(k + 1)2
serie_sumacc(n,acc):={
local p,l,j,k,ls,sf,sg,gk,fact;
ls:=[];
//calcul sans acceleration
sf:=0.0;
for (k:=n;k>=0;k--) {
sf:=sf+1/(k+1)^2;
}
ls:=[sf];
sf:=0.0;
fact:=1;
for (p:=1;p<=acc;p++){
//calcul de 1+1/4+..+1/p^2, le terme a rajouter
sf:=sf+evalf(1/p^2);
//calcul de p!
fact:=fact*(p);
//calcul de sg, somme(de 0 a n) de la serie acceleree p fois
sg:=0.0;
for (k:=0;k<=n;k++) {
gk:=1/(k+1)^2;
//calcul du k-ieme terme gk de la serie acceleree p fois (sans p!)
for (j:=1;j<=p;j++) {
gk:=evalf(gk/(k+j+1));
}
sg:=sg+gk;
}
ls:=concat(ls,sf+fact*sg);
}
return(ls);
}
suivant: Méthodes d'accélération de convergence
monter: Les séries
précédent: Les sommes partielles
Table des matières
Index
Documentation de giac écrite par Renée De Graeve