dimanche 14 février 2016

calcul de zeta(1/2)

On retrouve souvent  dans les articles de vulgarisation mathématique les questions relatives  au calcul de la "somme"
$$1+2+3+\dots+n+... = -{1\over 12} $$
ces articles de vulgarisation mentionnent parfois que le résultat $-{1\over 12}$ correspond en fait à la valeur de $\zeta(-1)$  mais ils n'abordent pas en général  la théorie qui justifie ce résultats,  qui repose sur le prolongement analytique de la fonction $\zeta(x)$ de Riemann. Dans mon billet précédent  j'ai montré que quand $0<x<1$ ce prolongement  correspondait au  terme constant du développement asymptotique de la série de Riemann d'exposant $x$ , soit dans le cas $x=1/2$ :
$$\sum_{k=1}^n{1\over k^{1/2}}=\sum_{k=1}^n{1\over \sqrt{k}}=
2\sqrt{n}+\zeta(1/2)+{\mathcal O}\left({1\over \sqrt{n}}\right)$$
Cette  définition  d'apparence bien compliquée permet de tenter le calcul  d'une valeur approchée  de $\zeta(1/2)$ avec un maximum de décimales  :


Cet exercice  est un petit concentré de techniques simples mais terriblement  efficaces dans l'étude des séries numériques : combinaisons de séries convergentes, utilisation de séries télescopiques, accélération de la convergence, équivalents séries/intégrales, expressions conjuguée de radicaux ...

utilisation de séries télescopiques

On part donc de la formule la série de Riemann d'exposant $x$ et on va commencer par exprimer $\sqrt{n}$ sous forme d'une série télescopique :

$$\sum_{k=1}^n\sqrt{k}-\sqrt{k-1}=\sqrt{n}-\sqrt{1-1}=\sqrt{n}$$
d'un autre coté en utilisant une expression conjuguée :
$$\sqrt{n}=\sum_{k=1}^n\sqrt{k}-\sqrt{k-1}=\sum_{k=1}^n{k-k+1\over \sqrt{k}+\sqrt{k-1}}=\sum_{k=1}^n{1\over \sqrt{k}+\sqrt{k-1}}$$
en passant ce terme  du coté gauche on obtient  que
$$\sum_{k=1}^n{1\over \sqrt{k}}-2\sqrt{n}
=\sum_{k=1}^n{1\over \sqrt{k}}-{2\over \sqrt{k}+\sqrt{k-1}}
=\zeta(1/2)+{\mathcal O}\left({1\over \sqrt{n}}\right)$$
ceci nous donne donc une expression de $\zeta(1/2)$ sous forme d'une série convergente :

$$\begin{align*}
\zeta(1/2)
&=\sum_{k=1}^\infty{1\over \sqrt{k}}-{2\over \sqrt{k}+\sqrt{k-1}}\\
&=\sum_{k=1}^\infty{\sqrt{k}+\sqrt{k-1}-2\sqrt{k}\over \sqrt{k}(\sqrt{k}+\sqrt{k-1})}\\
&=\sum_{k=1}^\infty{\sqrt{k-1}-\sqrt{k}\over \sqrt{k}(\sqrt{k}+\sqrt{k-1})}\\
&=\sum_{k=1}^\infty{-1\over \sqrt{k}(\sqrt{k}+\sqrt{k-1})^2}
\end{align*}$$

la série est bien convergente car son terme général est équivalent à $-{1\over 4k\sqrt{k}}=-{1\over 4k^{3/2}}$ mais sa convergence est très lente, puisque le reste d'ordre $n$ à pour équivalent :
$$\sum_{k=n+1}^\infty{1\over \sqrt{k}(\sqrt{k}+\sqrt{k-1})^2}
\sim\int_n^\infty {1\over 4t\sqrt{t}}dt
=\left[-{1\over 2\sqrt{t}}\right]_n^\infty={1\over 2\sqrt{n}}$$
Pour calculer 16 décimales exactes il faudrait que ce reste  vérifie
$${1\over 2\sqrt{n}}\leq 10 ^{-16}\Rightarrow n\geq \left({10^{16}\over 2}\right)^2=2.5\times 10^{31}$$
ce calcul  est beaucoup trop long pour être tenté, il est en général difficile de calculer une somme pour $n>10^6$  ce qui limiterai la précision à seulement trois décimales , car ${1\over 2\sqrt{n}}= 0.0005$,  soit
$$\zeta(1/2)\approx 1.4598545\dots$$

accélération de la convergence

Pour palier à ce problème on va essayer de remplacer la série donnant $\zeta(1/2)$ par une autre convergent plus vite. La technique  est la même que celle exposée sur ce blog pour accélérer la convergence de $\sum {1\over k^2}$ : on va  essayer de trouver  une série télescopique  dont le terme principal $f(k)-f(k-1)\sim f'(k)$ est équivalent à celui de la série à accélérer,  ensuite on obtient une nouvelle série en calculant la différence  des deux séries. Attention le choix de $f$ n'est pas unique et certains choix peuvent donner des formules plus simples que d'autres. Ici en prenant :
$$f'(k)\sim -{1\over 4k^{3/2}}\Rightarrow f(k)={1\over 2 k^{1/2}}={1\over 2 \sqrt{k}}$$
on obtient la série télescopique:
$$\sum_{k=2}^n{1\over 2 \sqrt{k}}-{1\over 2 \sqrt{k-1}}={1\over 2 \sqrt{n}}-{1\over 2 \sqrt{1}}
\mathop{\longrightarrow}_{n\to\infty}-{1\over 2 }$$
 la nouvelle série aura alors pour terme général :
$${-1\over \sqrt{k}(\sqrt{k}+\sqrt{k-1})^2}-\left({1\over 2 \sqrt{k}}-{1\over 2 \sqrt{k-1}}\right)
={1\over 2\sqrt{k}\sqrt{k-1}(\sqrt{k}+\sqrt{k-1})^3}$$
ce qui donne au final :
$$\begin{align*}
\zeta(1/2)
&=\sum_{k=1}^\infty{-1\over \sqrt{k}(\sqrt{k}+\sqrt{k-1})^2}\\
&=-1+\sum_{k=2}^\infty{-1\over \sqrt{k}(\sqrt{k}+\sqrt{k-1})^2}\\
&=-1+\sum_{k=2}^\infty{1\over 2 \sqrt{k}}-{1\over 2 \sqrt{k-1}}+ \sum_{k=2}^\infty{-1\over 2\sqrt{k}\sqrt{k-1}(\sqrt{k}+\sqrt{k-1})^3}\\
&=-{3\over 2}+ \sum_{k=2}^\infty{1\over 2\sqrt{k}\sqrt{k-1}(\sqrt{k}+\sqrt{k-1})^3}\\
\end{align*}$$

 On a bien accéléré la convergence puisque le terme général de la nouvelle série  est équivalent à ${1\over 16k^{5/2}}$  et le reste d'ordre n de la série sera donc équivalent à ${1\over 24n^{3/2}}$, c'est mieux cette fois avec $n=10^6$  on aura au plus 10 décimales de $\zeta(1/2)\approx - 1.46035450885126594$ (car ${1\over 24n^{3/2}}\approx 4.167\times 10^{-11}$).
Au passage on peut remarquer que le terme constant $-3/2$ est déjà une  bonne approximation de $\zeta(1/2)$, qui sera un peu supérieure à $-3/2$ puisque la nouvelle série est à termes positifs. On peut aussi  remarquer que l'erreur commise entre la première série et la nouvelle est $0.0005$ avec une erreur relative de $10^{-10}$! Cela montre à quel point l'équivalent intégral du reste est précis .

une dernière pour la route

Avec un peu de courage on peut encore améliorer  encore la vitesse de convergence de cette série, mais suivant le choix de la série télescopique utilisée la nouvelle série devient assez compliquée à écrire. Après plusieurs essais (et l'aide du logiciel  Sage)  j'ai fini par choisir  $f(x)={1\over (x+1)\sqrt{x}}$ puisque

$${1\over 16k^{5/2}}=\left( -{1\over 24k^{3/2}}\right)'\sim {1\over 24}\left( {1\over (k+1)\sqrt{k}}-{1\over k\sqrt{k-1}}\right)$$
ce qui  donne un résultat  acceptable pour la nouvelle série :
\begin{align*}
{1\over 2\sqrt{k}\sqrt{k-1}(\sqrt{k}+\sqrt{k-1})^3}
=-{1\over 24}\left( {1\over (k+1)\sqrt{k}}-{1\over k\sqrt{k-1}}\right)\\
+\frac{1}{{4\left(k + 1\right)} \sqrt{k - 1} {\left(\sqrt{k - 1} +
\sqrt{k}\right)}^{4}}\\
+\frac{\sqrt{k - 1} + 16 \, \sqrt{k}}{24{\left(k + 1\right)} \sqrt{k - 1} k
{\left(\sqrt{k - 1} + \sqrt{k}\right)}^{3}}
\end{align*}

la somme des deux termes additionnels est équivalente à ${5\over 48 k^{7/2}}$ , le reste d'ordre n de la nouvelle série sera donc équivalent à ${1\over 96n^{5/2}}$. Avec $n=10^6$  on aura donc 16 décimales de $\zeta(1/2)$  (car ${1\over 96n^{5/2}}\approx  10^{-17}$).

$$\begin{align*}
\zeta(1/2)&=-{71\over 48}+\sum_{k=2}^\infty
\frac{1}{{4\left(k + 1\right)} \sqrt{k - 1} {\left(\sqrt{k - 1} +
\sqrt{k}\right)}^{4}}
+\frac{\sqrt{k - 1} + 16 \, \sqrt{k}}{24{\left(k + 1\right)} \sqrt{k - 1} k
{\left(\sqrt{k - 1} + \sqrt{k}\right)}^{3}}\\
&\approx - 1.46035450880961104
\end{align*}$$
Les calculs sont faciles à faire avec Scilab par exemple :

//************************
//  calcul zeta(1/2)
//************************
k=2:10^6;
sqrtk1=sqrt(k-1);
sqrtk=sqrt(k);
//première série 
S1=-1-sum((1)./(sqrtk.*(sqrtk1+sqrtk).^2))
//deuxième série
S2=-3/2+sum((1)./(2*sqrtk1.*sqrtk.*(sqrtk1+sqrtk).^3))
//troisième série
u1=(1)./(4*(k+1).*sqrtk1.*((sqrtk1+sqrtk).^4));
u2=(sqrtk1+16*sqrtk)./(24*(k+1).*sqrtk1.*k.*((sqrtk1+sqrtk).^3));
S3=-3/2+1/48+sum(u1)+sum(u2)

En théorie on pourrait ainsi obtenir 16 décimales de $\zeta(1/2)$ mais on a pas tenus compte des erreurs d'arrondis  faites lors des calculs faits en réels double précision (l'erreur de troncature) en tenant compte de ces erreurs on ne peut être certains que des 10 premières décimales ...

2 commentaires:

  1. Bravo pour ce beau et original résumé. Si un jour tu dois l'expliquer à tes étudiants, tu pourras commencer par prouver que 1+x+x^2+x^3+... = 1/(1-x)
    pour tout |x|<1. Là ils seront tous d'accord ;-) Puis dire que le membre droit de cette formule est une fonction définie sur tout le plan complexe sauf en 1, et c'est pourquoi on pourra poser, par exemple,
    1+2+4+8+... = 1/(1-2) = -1. Comme ça ils voient déjà sur un exemple simple de quoi il s'agit au fond.

    RépondreSupprimer
    Réponses
    1. Tout à fait d'accord, personnellement j'aime autant l'exemple avec x=-1 qui donne 1-1+1-1+...=1/2 (voir le billet sur la resommation des séries divergentes) mais c'est le même principe.

      Supprimer

Pour écrire des formules mathématiques vous pouvez utiliser la syntaxe latex en mettant vos formules entre des "dollars" $ \$....\$ $ par exemple :
- $\sum_{n=1}^\infty {1\over n^2}={\pi^2\over 6}$ s'obtient avec \sum_{n=1}^\infty {1\over n^2}={\pi^2\over 6}
- $\mathbb R$ s'obtient avec {\mathbb R} et $\mathcal D$ s'obtient avec {\mathcal D}
- pour les crochets $\langle .,. \rangle$ dans les commentaires utilisez \langle .,. \rangle
vous pouvez écrire du html dans les commentaires :
- italique <i> ... </i> gras <b> ... </b>
- lien <a href="http://adresse "> .... </a>