next up previous contents index
suivant: Méthodes d'accélération de convergence monter: Les séries précédent: Les sommes partielles   Table des matières   Index

Exemple d'accélération de convergence des séries à termes positifs

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 $ \sim$ a/kp et on pose :
vk = uk - $\displaystyle {\frac{{a}}{{(k+1)(k+2)...(k+p)}}}$
On a alors, vk = O($\displaystyle {\frac{{1}}{{k^{p+1}}}}$) et on connait :
$\displaystyle \sum_{{k=0}}^{\infty}$$\displaystyle {\frac{{a}}{{(k+1)(k+2)...(k+p)}}}$
En effet :
$\displaystyle {\frac{{a}}{{(k+1)(k+2)...(k+p)}}}$ = $\displaystyle {\frac{{a}}{{p-1}}}$($\displaystyle {\frac{{1}}{{(k+1)(k+2)...(k+p-1)}}}$ - $\displaystyle {\frac{{a}}{{(k+2)(k+3)...(k+p)}}}$) donc
$\displaystyle \sum_{{k=0}}^{\infty}$$\displaystyle {\frac{{a}}{{(k+1)(k+2)...(k+p)}}}$ = $\displaystyle {\frac{{a}}{{p-1}}}$($\displaystyle {\frac{{1}}{{1\cdot 2\cdot...\cdot (p-1)}}}$) = $\displaystyle {\frac{{a}}{{(p-1)(p-1)!}}}$ et,
$\displaystyle \sum_{{k=k0}}^{\infty}$$\displaystyle {\frac{{a}}{{(k+1)(k+2)...(k+p)}}}$ = $\displaystyle {\frac{{a}}{{(p-1)(k0+1)(k0+2)..(k0+p-1)}}}$
On a :
$\displaystyle \sum_{{k=0}}^{\infty}$uk = $\displaystyle {\frac{{a}}{{(p-1)(p-1)!}}}$ + $\displaystyle \sum_{{k=0}}^{\infty}$vk
On peut ensuite continuer à appliquer la même méthode à vk.

Exercice
Utiliser cette méthode pour calculer numériquement : $\displaystyle \sum_{{k=0}}^{\infty}$$\displaystyle {\frac{{1}}{{(k+1)^2}}}$.
On va faire "à la main " trois accélérations successives.
On pose :
uk = $\displaystyle {\frac{{1}}{{(k+1)^2}}}$

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 $\displaystyle {\frac{{\pi^2}}{{6}}}$ et les valeurs obtenues pour n = 200, car on sait que :
S = $\displaystyle \sum_{{k=0}}^{\infty}$$\displaystyle {\frac{{1}}{{(k+1)^2}}}$ = $\displaystyle {\frac{{\pi^2}}{{6}}}$ $\displaystyle \simeq$ 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 $\displaystyle \sum_{{k=n+1}}^{\infty}$1/(k + 1)2 à une intégrale on a :

$\displaystyle \sum_{{k=n+1}}^{\infty}$$\displaystyle {\frac{{1}}{{(k+1)^2}}}$ < $\displaystyle \int_{n}^{\infty}$$\displaystyle {\frac{{1}}{{(x+1)^2}}}$dx = $\displaystyle {\frac{{1}}{{n+1}}}$


Ou encore, on peut aussi remarquer que :

$\displaystyle \sum_{{k=n+1}}^{\infty}$$\displaystyle {\frac{{1}}{{(k+1)^2}}}$ < $\displaystyle \sum_{{k=n+1}}^{\infty}$$\displaystyle {\frac{{1}}{{k(k+1)}}}$ = $\displaystyle {\frac{{1}}{{n+1}}}$

puisque $\displaystyle {\frac{{1}}{{k(k+1)}}}$ = $\displaystyle {\frac{{1}}{{k}}}$ - $\displaystyle {\frac{{1}}{{k+1}}}$.
Au bout de la p-ième accéleration on calcule la somme de :
uk(p) = $\displaystyle {\frac{{p!}}{{(k+1)^2(k+2)...(k+p+1)}}}$ et on a :

$\displaystyle \sum_{{k=n+1}}^{\infty}$$\displaystyle {\frac{{1}}{{(k+1)^2(k+2)...(k+p+1)}}}$ < $\displaystyle \sum_{{k=n+1}}^{\infty}$$\displaystyle {\frac{{1}}{{k(k+1)(k+2)...(k+p+1)}}}$

Et puisque :

$\displaystyle {\frac{{p+1}}{{k(k+1)(k+2)...(k+p+1)}}}$ = $\displaystyle {\frac{{1}}{{k(k+1)(k+2)...(k+p)}}}$ - $\displaystyle {\frac{{1}}{{(k+1)(k+2)...(k+p+1)}}}$

On a :

$\displaystyle \sum_{{k=n+1}}^{\infty}$un(p) = $\displaystyle \sum_{{k=n+1}}^{\infty}$$\displaystyle {\frac{{p!}}{{(k+1)^2(k+2)...(k+p+1)}}}$ < $\displaystyle {\frac{{p!}}{{(p+1)(n+1)(n+2)...(n+p+1)}}}$

Donc

$\displaystyle \sum_{{k=n+1}}^{\infty}$un(p) < $\displaystyle {\frac{{p!}}{{(p+1)(n+1)^{p+1}}}}$

On vérifie ( $\displaystyle {\frac{{\pi^2}}{{6}}}$ $\displaystyle \simeq$ 1.64493406685) :
1.63997129788 < $\displaystyle {\frac{{\pi^2}}{{6}}}$ < 1.63997129788 + 1/201 = 1.64494642226
1.64492179293 < $\displaystyle {\frac{{\pi^2}}{{6}}}$ < 1.64492179293 + 1/(2*2012) = 1.64493416886
1.64493398626 < $\displaystyle {\frac{{\pi^2}}{{6}}}$ < 1.64493398626 + 2/(3*2013) = 1.64493406836
1.64493406596 < $\displaystyle {\frac{{\pi^2}}{{6}}}$ < 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 $\displaystyle \sum_{{k=0}}^{\infty}$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);
}


next up previous contents index
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