Rubrique : Ouvertures

Une curiosité numérique
Complément numérique

Cet article complète l’article paru dans le n°548 d’Au fil des maths .

François Boucher

© APMEP Juin 2023
⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅♦⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅

\[\sum_{k=1}^{+\infty}\frac{(-1)^{k-1}}{2k-1}=1-\frac{1}{3}+\frac{1}{5}-\frac{1}{7}+ \cdots=\frac{\pi}{4}\cdotp\]

On pose \(\displaystyle s_n=4\sum_{k=1}^n\frac{(-1)^{k-1}}{2k-1}\) et on a l’encadrement (si \(n\) est pair) : \(s_{n}< \pi < s_{n}+\dfrac{4}{2n+1}\cdotp\)

Un programme de calcul simple — dans lequel on accumule la somme en commençant par les termes les plus petits — fournit toutefois les valeurs approchées suivantes :

def Leibniz(lim) :

  s=0.
  n=lim-1
  sgn=-4
  while n>0:
    s=s+sgn/n
    n=n-2
    sgn=-sgn

  return(s)

On obtient le tableau suivant où les valeurs approchées de \(\pi\) sont a priori connues.

\(n\) \(\overline{s_{n}}\) \(\overline{\pi}\)
100 3,131 592 (0) 3,141 592
1 000 3,140 592 653 (8) 3,141 592 653
10 000 3,141 492 653 590 (0) 3,141 592 653 590
100 000 3,141 582 653 589 793 (4) 3,141 592 653 589 793

On note bien que, si \(n=10^p\), la \(p\)-ième décimale n’est pas exacte à une unité par défaut près et que la différence \(\overline{\pi} – \overline{s_n}\) vérifie \(0<\overline{\pi} – \overline{s_n} \approx 10^{-p}<2\times10^{-p}\). On a indiqué dans la colonne des valeurs approchées de \(s_n\) la (\(3p+1\))-ième décimale calculée.

Démontrons, ainsi que permet de le conjecturer la petite expérience numérique précédente que \(\pi-s_n \sim \dfrac{1}{n}\) (si \(n\) est pair). On remplace \(n\) par \(2n\) pour traduire l’hypothèse \(n\) pair.

Démonstration
Tout repose sur la somme des termes d’une suite géométrique et les propriétés de l’intégration ; on réécrit, en suivant un principe d’homogénéisation des différences \(\displaystyle \pi-s_{2n}=4\int_0^1\dfrac{1}{1+x^2}\,\mathrm{d}x-4\sum_{k=1}^{2n}\int_0^1(-x^2)^{k-1}\,\mathrm{d}x =\int_0^1\dfrac{4x^{4n}}{1+x^2}\,\mathrm{d}x\) puis, de même, \(\displaystyle \dfrac{1}{2n}=\dfrac{2}{4n}=2\int_0^1x^{4n-1}\,\mathrm{d}x\) et enfin \(\displaystyle\pi-s_{2n}-\dfrac{1}{2n}=\int_0^1\dfrac{4x^{4n}-2x^{4n-1}-2x^{4n+1}}{1+x^2}\,\mathrm{d}x\).

Le numérateur sous l’intégrale est négatif, d’où la majoration \[\begin{aligned}
\left|\pi-s_{2n}-\dfrac{1}{2n}\right| &\leqslant 2\int_0^1\dfrac{-2x^{4n}+x^{4n-1}+x^{4n+1}}{1+x^2}\,\mathrm{d}x \\
&\leqslant 2\int_0^1(-2x^{4n}+x^{4n-1}+x^{4n+1})\,\mathrm{d}x =\frac{1}{2}\frac{1}{n(2n+1)(4n+1)}<\dfrac{1}{2(2n)^3}\cdotp \end{aligned}\]

Cette dernière inégalité montre que, dans le cas \(2n=10^p\), l’erreur sur la \(p\)-ième décimale est bien de \(1\) par défaut, et que les \(2p\) décimales suivantes sont exactes. Ainsi, avec \(p=5\), on peut calculer une valeur approchée de \(\pi\) avec quinze décimales exactes à l’aide d’un système de calcul utilisant des flottants IEEE754 doubles.

Reprenons le calcul précédent avec \(n=50\,000\) en calculant en multiple précision (par exemple, avec le module Decimal de Python ou le logiciel Maple). On travaille avec \(\dfrac{\pi}{2}\) et on choisit \(n\) de sorte que \(2n\) soit une puissance de dix.

from decimal import getcontext, Decimal

getcontext().prec = 100 # nombre de décimales du significande

def conv(z):
""" convertit un type numeric en type Decimal"""
  return(Decimal(str(z)))

  def Leibniz(lim):
  """ calcule (*$\sum_1^{k=2lim} 2\frac{(-1)^{k-1}}{2*k-1}$*)"""
  
  # initialisations
  n=2*lim-1
  s=conv(0.)
  sgn=conv(-2)
  
  # boucle de sommation inversée
  while(n>0):
    s+=sgn/conv(n)
    n-=2
    sgn=-sgn
  return(s)

On obtient alors : \(\overline{s}=1,570\,7{\color{red}8}6\,326\,794\,89{\color{red}7}\,619\,231\,321\,{\color{red}1}91\,639\,75{\color{red}2}\,{\color{red}{05}}2\,098\) (en rouge, les décimales erronées).

Avec \(n=5\,000\,000\), la durée de calcul reste acceptable.

\[\begin{aligned}
\overline{s}=1,&570\,796\,{\color{red}2}26\,794\,896\,619\,23{\color{red}2}\,321\,691\,639\,75{\color{red}1}\,{\color{red}{39}}2\,098\,584\,699\,6{\color{red}{93}}\,\\
&{\color{red}6}52\,910\,487\,47{\color{red}0}\,{\color{red}{911}}\,153\,908\,203\,{\color{red}{648}}\,{\color{red}{31}}4\,499\,31{\color{red}3}\,{\color{red}{747}}\,{\color{red}{136}}\,{\color{red}1}71\,058
\end{aligned}\]

Un développement asymptotique

Démontrons le développement annoncé dans le n°548  (\(n\) pair) \[\frac{\pi}{2}-2\sum_{k=0}^{n-1}\dfrac{(-1)^{k}}{2k+1}= \sum_{k=0}^{m-1}\dfrac{\mathrm{E}_{2k}}{(2n)^{2k+1}}+\mathop{\mathrm{O}}_{n \infty}\left(\frac{1}{n^{2m+1}}\right)\] valide pour tout \(m \geqslant 1\). Les nombres d’Euler \(E_{2n}\) ont été définis dans la version papier  paru dans Au fil des maths.

On a besoin de quelques matériaux qui s’obtiennent plus aisément en faisant appel aux séries entières, bien plus facilement avec les fonctions analytiques (variable complexe) mais c’est plus cher, et, plus laborieusement mais élémentairement, avec des développements limités. La théorie fournit existence et unicité, et les outils de calcul, de quoi faire un bon sujet de concours (par exemple ENSI M 1983 épreuve 1). Le raisonnement par récurrence est d’usage constant.

  1. les polynômes d’Euler : pour \(x \in \mathbb{R}\), l’application \(t \longmapsto \dfrac{2\mathrm{e}^{xt}}{\mathrm{e}^t+1}\) possède un développement en série entière (dit exponentiel) de la forme \(\displaystyle \sum_{n=0}^{+\infty}\dfrac{\mathrm{E}_n(x)}{n{!}}t^n\) avec un rayon de convergence \(R \geqslant 1\) (on peut montrer que \(R=\pi\)), et dans lequel \(\mathrm{E}_n(x)\) est un polynôme unitaire en \(x\) de degré \(n\).

    \[\mathrm{E}_0(x)=1,\ \mathrm{E}_1(x)=x-\frac{1}{2},\ \mathrm{E}_2(x)=x^2-x,\ \mathrm{E}_3(x)=x^3-\frac{3}{2}x^2+\frac{1}{4},\ \mathrm{E}_4(x)=x^4-2x^3+x\]

  2. Les \(\mathrm{E}_n(x)\) vérifient de nombreuses propriétés, dont les plus utiles pour la suite sont (en omettant les quantifications) :
    • \(\displaystyle \mathrm{E}_n(x)=x^n-\dfrac{1}{2}\sum_{k=0}^{n-1}\binom{n}{k}\mathrm{E}_k(x)\) ;
    • \(\mathrm{E}_n(0)+\mathrm{E}_n(1)=0\) pour \(n \geqslant 1\), \(\mathrm{E}_0(x)=1\), \(\mathrm{E}’_{n+1}(x)=(n+1)\mathrm{E}_n(x)\) qui caractérisent la famille \((\mathrm{E}_n(x))_{n \in \mathbb{N}}\) ;
    • lien avec les nombres d’Euler : \(E_n=2^n\mathrm{E}_n\left(\dfrac{1}{2}\right)\) ;
    • \(\mathrm{E}_n(x)+\mathrm{E}_n(x+1) = 2x^n\) elle-aussi caractéristique ;
    • \(\mathrm{E}_n(1-x)=(-1)^n\mathrm{E}_n(x)\) qui donne \(\mathrm{E}_{2n+1}\left(\dfrac{1}{2}\right)=0\) et \(\mathrm{E}_{2n}(0)=\mathrm{E}_{2n}(1)=0\) ;
    • En utilisant ce qui précède, on démontre (par récurrence !) qu’il y a quatre types de représentations graphiques entre \(0\) et \(1\) pour les polynômes \(\mathrm{E}_n\) selon \(n\) mod 4 :

      image

      En particulier, on a donc \(\displaystyle \max_{[0;1]}\left|\mathrm{E}_{2n}\right|=\left|\mathrm{E}_{2n}\left(\dfrac{1}{2}\right)\right|=\dfrac{\mathrm{E}_{2n}}{2^{2n}}\cdotp\)

  3. On définit une fonction périodique \(\widetilde{\mathrm{E}}_n\), de période 2 en posant
    \(\widetilde{\mathrm{E}}_n(x)=\mathrm{E}_n(x)\) pour \(0 \leqslant x < 1\) et \(\widetilde{\mathrm{E}}_n(1+x)=-\widetilde{\mathrm{E}}_n(x)\) pour tout \(x\).
    On démontre que, pour \(n\geqslant 1\), \(\widetilde{\mathrm{E}}_n\) est de classe \(\mathcal{C}^{n-1}\) sur \(\mathbb{R}\) (les raccords se font bien en \(0\) et \(1\)).

Démontrons ensuite la version de la formule de Boole retenue : soit \(x \in \mathbb{R}\) et \(m\) entier non nul ; si \(f\) est de classe \(\mathcal{C}^{\infty}\) sur \([x;x+1]\) alors pour \(h \in [0;1]\) et tout entier \(m\geqslant 1\), on a \[f(x+h)=\sum_{k=0}^{m-1} \dfrac{1}{k{!}}\mathrm{E}_k(h)\frac{1}{2}\left\{f^{(k)}(x+1)+f^{(k)}(x)\right\} +\frac{1}{2}\int_0^1\dfrac{\widetilde{\mathrm{E}}_{m-1}(h-t)}{(m-1){!}}f^{(m)}(x+t)\,\mathrm{d}t.\]

Démonstration
La démonstration se fait par récurrence sur \(m\) à l’aide d’une intégration par parties.

Pour \(m=1\) le reste vaut \(\displaystyle R_1=\frac{1}{2}\int_0^1\widetilde{\mathrm{E}}_0(h-t)f'(x+t)\,\mathrm{d}t\) ; en écrivant \(\displaystyle \int_0^1=\int_0^h+\int_h^1\), il vient \[R_1=f(x+h)-\dfrac{1}{2}(f(x+1)+f(x)).\]

En supposant la formule vraie à l’ordre \(m\), on intègre par parties \[\begin{aligned}
2R_{m+1} & = \int_0^1\dfrac{\widetilde{\mathrm{E}}_{m}(h-t)}{m{!}}f^{(m+1)}(x+t)\,\mathrm{d}t \\
& = \left[\dfrac{\widetilde{\mathrm{E}}_{m}(h-t)}{m{!}}f^{(m)}(x+t) \right]_0^1+ \int_0^1\dfrac{\widetilde{\mathrm{E}}^{‘}_{m}(h-t)}{m{!}}f^{(m)}(x+t)\,\mathrm{d}t \\
& = \dfrac{\widetilde{\mathrm{E}}_{m}(h-1)}{m{!}}f^{(m)}(x+1)-\dfrac{\widetilde{\mathrm{E}}_{m}(h)}{m{!}}f^{(m)}(x)+ \int_0^1\dfrac{\widetilde{\mathrm{E}}^{‘}_{m}(h-t)}{m{!}}f^{(m)}(x+t)\,\mathrm{d}t \\
& = -\dfrac{\widetilde{\mathrm{E}}_{m}(h)}{m{!}}\left[f^{(m)}(x+1)+f^{(m)}(x)\right] + \int_0^1\dfrac{\widetilde{\mathrm{E}}_{m-1}(h-t)}{(m-1){!}}f^{(m)}(x+t)\,\mathrm{d}t \\
& = 2f(x+h)-\sum_{k=0}^{m} \dfrac{1}{k{!}}\mathrm{E}_k(h)\left\{f^{(k)}(x+1)+f^{(k)}(x)\right\}
\end{aligned}\]
en utilisant l’hypothèse de récurrence ; ce qui achève la démonstration, démonstration fort peu éclairante à dire vrai car elle semble ne rien dévoiler sur l’origine de cette formule1.

On en déduit une formule sommatoire : on prend \(h=\dfrac{1}{2}\) et \(x=p \in \mathbb{N}^{\ast}\) et \(m=2M+1\), il vient \[\begin{aligned}
2(-1)^pf\left(p+\frac{1}{2}\right) &= \sum_{k=0}^{2M}\frac{1}{k{!}}\mathrm{E}_k\left(\frac{1}{2}\right)\left\{(-1)^pf^{(k)}(p)-(-1)^{p+1}f^{(k)}(p+1)\right\} +(-1)^p\int_0^1\frac{\widetilde{\mathrm{E}}_{2M}\left(\dfrac{1}{2}-t\right)}{(2M){!}}f^{(2M+1)}(p+t)\,\mathrm{d}t \\
&= \sum_{h=0}^{M}\frac{1}{2^{2h}(2h){!}}\mathrm{E}_{2h}\left\{(-1)^pf^{(2h)}(p)-(-1)^{p+1}f^{(2h)}(p+1)\right\} +\int_p^{p+1}\frac{\widetilde{\mathrm{E}}_{2M}\left(\dfrac{1}{2}-u\right)}{(2M){!}}f^{(2M+1)}(u)\,\mathrm{d}u
\end{aligned}\]
puis, en supposant valides toutes les convergences utiles \[\begin{aligned}
2\sum_{p=n}^{+\infty}(-1)^pf\left(p+\frac{1}{2}\right) = \sum_{h=0}^{M}\frac{1}{2^{2h}(2h){!}}\mathrm{E}_{2h} & \left\{(-1)^nf^{(2h)}(n)-\lim_{p \infty}(-1)^{p+1}f^{(2h)}(p+1)\right\} \\
& +\int_n^{+\infty}\frac{\widetilde{\mathrm{E}}_{2M}\left(\dfrac{1}{2}-u\right)}{(2M){!}}f^{(2M+1)}(u)\,\mathrm{d}u
\end{aligned}\]
en prenant \(f(x)=\dfrac{1}{x}\), on valide les convergences et on obtient \[2\sum_{p=n}^{+\infty}(-1)^p\frac{1}{2p+1}=(-1)^n\sum_{h=0}^{M}\frac{\mathrm{E}_{2h}}{(2n)^{2h+1}}- \frac{1}{2}\int_n^{+\infty}\widetilde{\mathrm{E}}_{2M}\left(\frac{1}{2}-u\right)\frac{2M+1}{u^{2M+2}}\,\mathrm{d}u\cdotp\]

Nous avons vu que \(|\widetilde{\mathrm{E}_{2M}}|\) est majorée par \(\dfrac{|\mathrm{E}_{2M}|}{2^{2M}}\) ; on en déduit que \[\left|\frac{1}{2}\int_n^{+\infty}\widetilde{\mathrm{E}}_{2M}\left(\frac{1}{2}- u\right)\frac{2M+1}{u^{2M+2}}\,\mathrm{d}u\right| \leqslant \frac{|\mathrm{E}_{2M}|}{2^{2M+1}}\int_n^{+\infty}\frac{2M+1}{u^{2M+2}}\,\mathrm{d}u =\frac{|\mathrm{E}_{2M}|}{(2n)^{2M+1}}\]

En supposant \(n\) pair, on a donc \[2\sum_{p=n}^{+\infty}(-1)^p\frac{1}{2p+1}=\sum_{h=0}^{M}\frac{\mathrm{E}_{2h}}{(2n)^{2h+1}}+r_{2M}\] avec \(0 \leqslant r_{2M} \leqslant \dfrac{|\mathrm{E}_{2M}|}{(2n)^{2M+1}}\), ce qui, à \(M\) fixé, valide le développement asymptotique.

Calcul de 1 000 décimales de \(\pi\) avec la formule de Leibniz

Le problème est donc de trouver le \(n\) et le \(M\) convenables ; la condition suffisante est \[\dfrac{2|\mathrm{E}_{2M}|}{(2n)^{2M+1}} < \frac{1}{2}10^{-1\,000}.\]

On cherche \(n\) et \(M\) avec \(n \gg M\) car le calcul des \(\mathrm{E}_{2k}\), bien que non coûteux en temps, l’est en mémoire ; on peut démontrer que \(|\mathrm{E}_{2k}| \sim \dfrac{4^{k+1}(2k){!}}{\pi^{2k+1}}\) qu’on va utiliser pour estimer l’ordre de grandeur de \(|\mathrm{E}_{2k}|\). En utilisant des logarithmes décimaux, on obtient le tableau

\(2k\) 100 200 500 1 000
nombre de chiffres de \(\mathrm{E}_{2k}\) 336 791 1 821 4 121

Une exploration numérique donne comme valeurs possibles \(M=118\) et \(2n=10^6\).

On propose un programme en Python avec le module Decimal. Le programme est naïf au sens où on ne cherche pas à optimiser les calculs ; ainsi on pourrait ne pas calculer la liste de tous les \(\mathrm{E}_{2h}\) avant de calculer le terme correctif. L’intention est de privilégier la lisibilité globale.

def pi(n,M,d) :
  """ calcule (*$\pi$*) avec d décimales """
  """ n et M satisfaisant la CS """

  def Euler(M):
    """ construit la liste (*$[\mathrm{E}_{2h}, 0\leqslant h \leqslant M]$*)"""
    N=2*M+1
    L=[]

    for h in range(0,N):
      L.append([0 for k in range(0,h+1)])
      L[0][0]=1
      for h in range(1,N):
      for k in range(1,h+1):
        L[h][k]=L[h][k-1]+L[h-1][h-k]
    \mathrm{E}=[(1-2*(h%2))*L[2*h][2*h] for h in range(M+1)]

    return(\mathrm{E})

  def conv(z):
    """ convertit un type numeric en type Decimal"""
    return(Decimal(str(z)))

  def Leibniz(lim):
    """ calcule (*$\sum^1_{k=2lim} 4\frac{(-1)^{k-1}}{(2k-1)}$*)"""
    s=conv(0.)
    n=2*lim-1
    sgn=conv(-4)

    while(n>0):
      s+=sgn/conv(n)
      n-=2
      sgn=-sgn
    return(s)

  def cor(n,M):
    """ calcule (*$\sum_{h=0}^{M}2\frac{\mathrm{E}_{2h}}{(2n)^{2h+1}}$*)"""
    T=Euler(M)
    h=conv(2*n)
    C=conv(T[0])/h
    H=h*h

    for k in range(1,M+1):
      h=h*H
      C+=conv(T[k])/h
    C=2*C

    return(C)

  getcontext().prec = d # nombre de décimales des significandes
  return(Leibniz(n)+cor(n,M))

pi(500000,118,1010) donne

Decimal(’ 3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117067
  982148086513282306647093844609550582231725359408128481117450284102701938521105559644622948954930381
  964428810975665933446128475648233786783165271201909145648566923460348610454326648213393607260249141
  273724587006606315588174881520920962829254091715364367892590360011330530548820466521384146951941511
  609433057270365759591953092186117381932611793105118548074462379962749567351885752724891227938183011
  949129833673362440656643086021394946395224737190702179860943702770539217176293176752384674818467669
  405132000568127145263560827785771342757789609173637178721468440901224953430146549585371050792279689
  258923542019956112129021960864034418159813629774771309960518707211349999998372978049951059731732816
  096318595024459455346908302642522308253344685035261931188171010003137838752886587533208381420617177
  669147303598253490428755468731159562863882353787593751957781857780532171226806613001927876611195909
  2164201989380952572’)

décimales toutes exactes (a posteriori).

D’autre part, l’équivalent donné de \(\mathrm{E}_{2M}\) prouve que, à \(n\) fixé, la série \(\displaystyle \sum_M \frac{\mathrm{E}_{2M}}{(2n)^{2M+1}}\) est très grossièrement divergente ; ce qui n’empêche pas ses sommes partielles de fournir des termes correctifs efficaces.


  1. Ce point pourra être éclairci dans un prochain article sur l’origine commune des trois formules, Taylor, Euler-Maclaurin et Boole. 

⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅♦⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅

François Boucher, à la retraite depuis quelques années, continue de s’intéresser aux mathématiques et à leur enseignement. Il fait également partie de l’équipe d’Au fil des maths.

Adresse mail de l'auteur

Pour citer cet article : Boucher F., « Une curiosité numérique – Complément numérique », in APMEP Au fil des maths. N° 548. 25 octobre 2023, https://afdm.apmep.fr/rubriques/ouvertures/une-curiosite-numerique-complement-numerique/.

Les amidakujis

Les auteurs nous font découvrir les mathématiques cachées derrière les amidakujis, ce jeu traditionnel japonais qui permet d’attribuer aléatoirement un lot d’une liste à chaque participant d’une loterie.

Alice Ernoult & Stéphane Gaussent

⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅♦⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅

© APMEP Septembre 2023

Continuer la lecture de Les amidakujis


Le gratin d’aubergines

À l’occasion d’une recette de cuisine1 Pierre Pansu nous livre ses réflexions sur la densité des empilements, avec des ingrédients numériques et géométriques ne manquant pas de sel.

Pierre Pansu

⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅♦⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅

© APMEP Juin 2023
Continuer la lecture de Le gratin d’aubergines


Activités Streetmath

Sortez vos craies et vos envies de partager la beauté des maths ! C’est parti pour de multiples projets de fresques collectives ! Cet article est publié en parallèle dans le numéro hors-série «spécial diffusion» de la Gazette de la Société Mathématique de France .

Marie Lhuissier & Olga Paris-Romaskevich pour l’association Mathématiques vagabondes, Nathalie Corson & Alice Ernoult

© APMEP Juin 2023

⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅♦⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅

Continuer la lecture de Activités Streetmath


Une curiosité numérique

Calculer les décimales de \(\pi\), c’est rigolo mais cela peut être très long. François Boucher nous propose une variation autour de la formule de Leibniz pour obtenir de nombreuses décimales sans trop d’efforts.

François Boucher

© APMEP Juin 2023
⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅♦⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅

Naissance d’un problème

Parmi les nombreuses formules dans lesquelles le nombre \(\pi\) apparaît, l’une des plus connues est sans doute celle dite de Leibniz1 \[\sum_{k=1}^{+\infty}\frac{(-1)^{k-1}}{2k-1}=1-\frac{1}{3}+\frac{1}{5}-\frac{1}{7}+ \cdots=\frac{\pi}{4}\cdotp\] La démonstration fut jadis accessible à un lycéen ; voir par exemple le problème du bac E 1986 de Nouvelle-Calédonie  . Il est plutôt simple de prouver que la série converge vers \(\displaystyle\int_0^1\frac{1}{1+x^2}\,\mathrm{d}x\) ; la difficulté est de calculer l’intégrale pour qui ne dispose pas de la fonction \(\arctan\). Le lecteur esthète pourra consulter la belle preuve visuelle donnée dans Au fil des maths n°547  .

Mieux, en posant \(\displaystyle s_n=4\sum_{k=1}^n\frac{(-1)^{k-1}}{2k-1}\), on a l’encadrement (si \(n\) est pair) : \(s_{n}<\pi< s_{n}+\dfrac{4}{2n+1}\) ce qui permet de tenter du calcul numérique. Il est alors classique d’observer que la convergence est « lente » ; comme l’encadrement est de longueur \(\dfrac{2}{n}\), \(n=2\,000\) ne garantit que la précision \(10^{-3}\) et pour passer à la précision \(10^{-4}\), l’encadrement disponible impose de multiplier \(n\) par dix2. Mesurée par le nombre de décimales exactes à obtenir, la complexité est donc exponentielle.

Un programme de calcul simple — dans lequel il est conseillé d’accumuler la somme en commençant par les termes les plus petits — fournit toutefois les valeurs approchées suivantes :

\(n\) \(\overline{s_{n}}\) \(\overline{\pi}\)
100 \(3,1{\color{red}3}1\,592\,(0)\) \(3,1{\color{red}4}1\,592\)
1000 \(3,14{\color{red}0}\,592\,653\,(8)\) \(3,14{\color{red}1}\,592\,653\)
10000 \(3,141\,{\color{red}4}92\,653\,590\,(0)\) \(3,141\,{\color{red}5}92\,653\,590\)
100000 \(3,141\,5{\color{red}8}2\,653\,589\,793\,(4)\) \(3,141\,5{\color{red}9}2\,653\,589\,793\)

Les valeurs approchées de \(\pi\) étant fournies, par exemple, par la comptine « que j’aime à faire apprendre… »

On note bien que, si \(n=10^p\), la \(p\)-ième décimale n’est pas exacte3 à une unité par défaut près et que la différence \(\overline{\pi}-\overline{s_n}\) vérifie \(0<\overline{\pi}-\overline{s_n} \approx 10^{-p}<2\times10^{-p}\) comme prévu. Ce n’est pas exactement la même chose que \(\pi-s_n\) ; mais \(|\pi-s_n|<| \pi-\overline{\pi}|+|\overline{\pi}-\overline{s_n}|+|\overline{s_n}-s_n|\leqslant \dfrac{1}{2}10^{-3p}+10^{-p}+\dfrac{1}{2}10^{-3p}=10^{-p}+10^{-3p}\). On a indiqué dans la colonne des valeurs approchées de \(s_n\) la \(3p+1\)-ième décimale calculée.

Le questionnement naît si on regarde les décimales suivantes : les \(2p\) suivantes sont exactes ce qui appelle immédiatement une explication4. Il s’agit d’enquêter.

Commençons par une majoration validant la petite expérience numérique précédente : si \(n\) est pair, \(\pi-s_n \sim \dfrac{1}{n\mathstrut}\cdotp\) On remplace \(n\) par \(2n\) pour traduire l’hypothèse \(n\) pair. En utilisant la somme des termes d’une suite géométrique et les propriétés de l’intégration, on obtient
\(\left|\pi-s_{2n}-\dfrac{1}{2n}\right|<\dfrac{1}{2(2n)^3}\cdotp\)
Cette dernière inégalité montre que, dans le cas \(2n=10^p\), l’erreur sur la \(p\)-ième décimale est bien de \(1\) par défaut, et que les \(2p\) décimales suivantes sont exactes. Ainsi, avec \(p=5\), on peut calculer une valeur approchée de \(\pi\) avec quinze décimales exactes à l’aide d’un système de calcul utilisant des flottants IEEE 754 doubles5. Bien sûr, il s’agit là d’une constatation a posteriori puisqu’on disposait d’une valeur connue de \(\pi\) avec une précision suffisante.

Les nombres d’Euler

Reprenons le calcul précédent avec \(n=50\,000\) en calculant en multiple précision (par exemple, avec le module Decimal de Python ou le logiciel Maple). Pour une raison difficile à justifier a priori, il vaut mieux travailler avec \(\dfrac{\pi}{2}\); de plus, prendre \(n\) tel que \(2n\) soit une puissance de dix est fort utile, la lumière sera plus éclatante…

On obtient alors : \( \overline{s} = 1,570\,7{\color{red}8}6\,326\,794\,89{\color{red}7}\,619\,231\,321\,{\color{red}1}91\,639\,75{\color{red}2}\,{\color{red}{05}}2\,098\,\)
et on connaît \(\dfrac{\pi}{2} = 1,570\,7{\color{red}9}6\,326\,794\,89{\color{red}6}\,619\,231\,321\,{\color{red}6}91\,639\,75{\color{red}1}\,{\color{red}{44}}2\,098 {\dots}\)

Formons un tableau de différences : bloc de décimales exactes moins bloc de décimales calculées :

rang 5 15 25 35
différence 1 \(-1\) 5 \(-61\)

On en déduit que \(\overline{s}+\dfrac{1}{10^5\mathstrut}-\dfrac{1}{10^{15}\mathstrut}+\dfrac{5}{10^{25}\mathstrut}-\dfrac{61}{10^{35}\mathstrut}\) est une approximation de \(\dfrac{\mathstrut\pi}{2}\) à au moins \(10^{-39}\) près.

Avec \(n=5\,000\,000\), la durée de calcul reste acceptable.

\[\begin{aligned}
\overline{s} =& 1,570\,796\,{\color{red}2}26\,794\,896\,619\,23{\color{red}2}\,321\,691\,639\,751\,{\color{red}{39}}2\,098\,584\,699\,6{\color{red}{93}}\,{\color{red}6}52\,910\,487\,47{\color{red}0}\,{\color{red}{911}}\,153\,908\,203\,{\color{red}{648}}\,{\color{red}{31}}4\,499\,31{\color{red}3}\,{\color{red}{74}}7\,{\color{red}{136}}\,{\color{red}1}71\,058 \\
\frac{\pi}{2} =& 1,570\,796\,{\color{red}3}26\,794\,896\,619\,23{\color{red}1}\,321\,691\,639\,751\,{\color{red}{44}}2\,098\,584\,699\,6{\color{red}{87}}\,{\color{red}5}52\,910\,487\,47{\color{red}2}\,{\color{red}{296}}\,153\,908\,203\,{\color{red}{143}}\,{\color{red}{10}}4\,499\,31{\color{red}4}\,{\color{red}{01}}7\,{\color{red}{412}}\,{\color{red}6}71\,058 \end{aligned}\]

Formons à nouveau le tableau de différences :

r 7 21 35 49 63 77 91
\(\Delta\) 1 \(-1\) 5 \(-61\) 1 385 \(-50\,521\) 2 702 765

On en déduit que \(\overline{s}+\dfrac{1}{10^7}-\dfrac{1}{10^{21}}+\dfrac{5}{10^{35}}-\dfrac{61}{10^{49}} +\dfrac{1\,385}{10^{63}}-\dfrac{50\,521}{10^{77}}+\dfrac{2\,702\,765}{10^{91}}\) est une approximation de \(\dfrac{\pi}{2}\) à au moins \(10^{-98}\) près.

Il est flagrant que la longueur des paquets de décimales exactes diminue alors que celle des paquets de décimales inexactes augmente et il est probable que les décimales exactes finissent par disparaître (pour un \(p\) donné).

On retrouve ainsi la même suite d’entiers que précédemment. Il ne reste plus qu’à consulter le site oeis.org pour obtenir l’information : il s’agit des nombres d’Euler alternés d’indice pair \(\mathrm{E}_{2n}\) qui apparaissent dans le développement en série entière exponentielle de diverses fonctions ; on peut prendre comme définition6
\[
\frac{1}{\cosh(x)} = \sum\limits_{n=0}^{+\infty}\frac{\mathrm{E}_{2n}}{(2n) !}x^{2n}\]

ou aussi bien
\[\frac{1}{\cos(x)} = \sum\limits_{n=0}^{+\infty}\frac{(-1)^n\mathrm{E}_{2n}}{(2n) !}x^{2n} \qquad |x| < \frac{\pi}{2}\cdotp \]

Ces nombres d’Euler sont aussi ubiquistes que leurs cousins, les nombres de Bernoulli.

Intéressons-nous à un procédé de calcul élémentaire imaginé en 1877 par Philip Seidel (1821-1896), qui utilise un tableau du type triangle de Pascal, que le mathématicien anglais John Conway (1937-2020) appelait le triangle « zigzag » ; les flèches indiquent le sens de remplissage du tableau (sens « boustrophédon »); chaque rangée orientée, à partir de la seconde, commence par \(0\) ; ensuite, la rangée est remplie en additionnant le nombre précédent et le nombre au-dessus de la flèche.

1
0 1
1 1 0
0 1 2 2
5 5 4 2 0
0 5 10 14 16 16
61 61 56 46 32 16 0
0 61 122 178 224 256 272 272

On trouve les nombres d’Euler au signe près (alias nombres « sécants », alias nombres zig) dans la diagonale descendante de gauche. Bien sûr on peut se poser la question des nombres de la diagonale de droite; il s’agit des nombres dits « tangents » (alias nombres zag) qui apparaissent dans le développement en série entière de la fonction \(\tan\), pour \(|x| < \dfrac{\pi}{2}\) : \(\displaystyle \tan(x) = \sum_{n=0}^{+\infty} \frac{\mathrm{T}_n}{n !}x^n=\frac{1}{1 !}x+\frac{2}{3 !}x^3+\frac{16}{5 !}x^5+\cdots\)

Les nombres « zigzag » \(1\), \(1\), \(1\), \(2\), \(5\), \(16\), \(61\), \(272\), \(1\,385\), \(7\,936\) — qui apparaissent aux extrémités des lignes orientées — sont donc ceux du développement en série entière de \[\begin{aligned}
\Psi(x) &= \dfrac{1}{\cos(x)}+\tan(x)=\tan\left(\frac{x}{2}+\frac{\pi}{4}\right) \\
&= \sum_{n=0}^{+\infty}\dfrac{\mathrm{Z}_n}{n{!}}x^n \end{aligned}\]

Le tableau zigzag permet de les calculer simplement en ne faisant que des additions. La question est bien évidemment de comprendre tout cela.

Appel à la combinatoire

Commençons par donner une interprétation combinatoire des nombres \(\mathrm{Z}_n\) due à Désiré André (1840-1917) ; on va suivre essentiellement son travail [1].

Démonstration
Pour \(n \geqslant 2\), il introduit des permutations particulières de \([\![1,\,n]\!]\) — qu’il appelle « alternées » — vérifiant : \[\begin{aligned}
& \sigma(1)<\sigma(2)>\sigma(3)<\sigma(4) > \cdots \\
\text{ou } \quad & \sigma(1)>\sigma(2)<\sigma(3) > \sigma(4) < \cdots \end{aligned}\]

Appelons celles du premier type « montantes » (p.a.m.) et celles du second « descendantes » (p.a.d.). Il va de soi que ces notions se généralisent à tout ensemble fini totalement ordonné. Dans la suite, si \(\sigma \in \mathfrak{S}_n\), on notera les images par \(\sigma\) aussi bien par \(\sigma(i)\) que par \(\sigma_i\) et \(\sigma\) elle-même par concaténation des images : \(\sigma=\sigma_1\sigma_2\cdots\sigma_n\) ; \(\sigma\) apparaît comme un mot. Ainsi \(315462\) est une p.a.d. et \(4713265\) est une p.a.m.

Si \(n\geqslant 2\), l’involution de renversement \(\sigma \longmapsto \sigma^r\) définie par \(\sigma^r(i)=n+1-\sigma(i)\) met en bijection les p.a.m. et les p.a.d. qui sont donc en nombres égaux. Soit \(\mathrm{A}_n\) ce nombre.

Ainsi \(\mathrm{A}_2=1\) puisque la seule p.a.m. (resp. p.a.d.) est \(12\) (resp \(21\)) ; et \(\mathrm{A}_3=2\) avec deux p.a.m. \(132\) et \(231\).

On convient que l’unique permutation de \(\{1\}\) est alternée (à la fois p.a.m. et p.a.d.), donc \(\mathrm{A}_1=1\) ; convenons aussi que \(\mathrm{A}_0=1\).

André démontre, à l’aide d’un argument combinatoire, la relation de récurrence : \[2\mathrm{A}_{n+1}=\sum_{k=0}^n \binom{n}{k} \mathrm{A}_k \mathrm{A}_{n-k}\quad \text{pour } n\geqslant 1.\]

Soit \(U\) une partie de \([\![1,\,n]\!]\) à \(k\) éléments (\(0 \leqslant k \leqslant n\)); si \(k\) est pair, soit \(\phi\) (resp. \(\psi\)) une p.a.d. de \(U\) (resp de \(\overline{U}=[\![1,\,n]\!] \smallsetminus U\)) ; la permutation \(\sigma\) de \([\![1,\,n+1]\!]\) définie par \(\sigma=\phi(n+1)\,\psi\) est p.a.d. ; si \(k\) est impair, on change p.a.d. en p.a.m.; réciproquement toute p.a.d. ou p.a.m. de \(\mathfrak{S}_{n+1}\) est de cette forme, et cela de façon unique (en tenant compte des cas limites \(U=\emptyset\) ou \(\overline{U}=\emptyset\)). D’où la relation.

Comme il y a moins de p.a.m. que de permutations, on a \(\mathrm{A}_k \leqslant k{!}\) pour tout \(k\). On peut alors considérer la somme de la série entière7 \(\displaystyle\sum \dfrac{\mathrm{A}_n}{n{!}}x^n\) qui possède un rayon de convergence \(\geqslant 1\). Posons \(\Phi(x)=\displaystyle\sum_{n=0}^{+\infty}\dfrac{\mathrm{A}_n}{n{!}}x^n\) ; quelques manipulations standard permettent de vérifier que \(2\Phi’=1+\Phi^2\) sur \(]-1;+1[\) et \(\Phi(0)=1\). On en déduit que \(\displaystyle \int_0^x \dfrac{2\Phi'(t)}{1+\Phi^2(t)}\,\mathrm{d}t=x\) d’où \(2\arctan(\Phi(x))-\dfrac{\pi}{2}=x\) et donc \(\Phi(x)=\Psi(x)\) au moins sur \(]-1;+1[\) ce qui suffit pour en déduire que \(\mathrm{Z}_n=\mathrm{A}_n\) pour tout \(n\).

Pour faire le lien avec le tableau zigzag, désignons par \(\mathrm{E}_{n,k}\) (\(0 \leqslant k \leqslant n\)) le nombre situé en ligne \(n\) et colonne \(k\) en suivant l’ordre boustrophédon du tableau pour la numérotation des colonnes ; ces nombres sont les nombres d’Entringer.

On a donc par construction du tableau : \[\begin{aligned}
\mathrm{E}_{0,0} &= 1,\\
\mathrm{E}_{n,0} &= 0 \quad(n \geqslant 1)\\
\mathrm{E}_{n,k} &= \mathrm{E}_{n,k-1}+\mathrm{E}_{n-1,n-k}\quad\text{pour $1\leqslant k \leqslant n$} \end{aligned}\]

Il est clair (?) que les conditions précédentes déterminent la suite des \(\mathrm{E}_{n,k}\) de façon unique. On veut démontrer que \(\mathrm{A}_n=\mathrm{E}_{n,n}\).

Démonstration
Parmi les p.a.d. de \([\![1,\,n+1]\!]\), on considère celles qui commencent par \(k+1\) (\(k \leqslant n\)). Soit \(\mathcal{A}_{n,k}\) leur ensemble et \(a_{n,k}\) le cardinal de \(\mathcal{A}_{n,k}\) ; c’est aussi le cardinal des p.a.m. qui finissent par la valeur \(n+1-k\). On a \(a_{0,0}=1\) et \(a_{n,0}=0\) pour \(n \geqslant 1\).

Un argument combinatoire8 permet de démontrer la formule d’Entringer \(a_{n,k} =a_{n,k-1}+a_{n-1,n-k}\) pour \(1 \leqslant k \leqslant n\).

Soit \(\sigma \in \mathcal{A}_{n,k}\) ; donc \(\sigma(1)=k+1\). Distinguons deux cas ; si \(\sigma(2)=k\), on lui associe \(\sigma’\) permutation de \([\![1,\,n]\!]\) obtenue selon le modèle de l’exemple suivant (\(n=6\), \(k=4\)) :
\[\begin{aligned}
\sigma =& \begin{pmatrix} 1 & 2 & 3 & 4 & 5 & 6 & 7 \\ 5 & 4 & 6 & 2 & 7 & 1 & 3 \end{pmatrix} \\
\text{donne } & \begin{pmatrix}2 & 3 & 4 & 5 & 6 & 7 \\ 4 & 6 & 2 & 7& 1 & 3 \end{pmatrix} \\
\text{puis } \sigma’ =& \begin{pmatrix}1 & 2 & 3 & 4 & 5 & 6 \\ 4& 5 & 2 & 6& 1 & 3 \end{pmatrix}.
\end{aligned}\]

On supprime la première colonne et on effectue les translations utiles.

\(\sigma’\) est une p.a.m. vérifiant \(\sigma'(1)=k\). On se convainc que \(\sigma \longmapsto \sigma’\) est une bijection. Et l’involution de renversement met les p.a.m. de \([\![1,\,n]\!]\) démarrant en \(k\) en bijection avec les p.a.d. de \([\![1,\,n]\!]\) démarrant en \(n-k+1\). Il y a donc \(a_{n-1,n-k}\) telles p.a.d.

Si \(\sigma(2) < k\), on lui associe la permutation \(\sigma’\) de \([\![1,\,n+1]\!]\) selon le modèle de l’exemple suivant (\(n=6\), \(k=4\))
\[\begin{aligned}
\sigma &= \begin{pmatrix} 1 & 2 & 3 & 4 & 5 & 6 & 7 \\ 5 & 2 & 6 & 4 & 7 & 1 & 3 \end{pmatrix} \\
\text{donne } \sigma’ &= \begin{pmatrix} 1 & 2 & 3 & 4 & 5 & 6 & 7 \\ 4 & 2 & 6 & 5 & 7 & 1 & 3 \end{pmatrix}.
\end{aligned}\]

On a transposé les images \(k\) et \(k+1\).

\(\sigma’\) est une p.a.d. démarrant en \(k\). L’application \(\sigma \longmapsto \sigma’\) est bijective ; on a donc \(a_{n,k-1}\) telles p.a.d. On en déduit que \(a_{n,k}=E_{n,k}\).

D’autre part, \(a_{n,n}\) est le nombre de p.a.d. de \([\![1,\,n+1]\!]\) qui commence par \(n+1\) égal bien sûr au nombre de p.a.m. de \([\![1,\,n]\!]\) donc égal à \(\mathrm{A}_n\).

Un développement asymptotique

Les systèmes de calcul formel savent calculer les nombres d’Euler ; ainsi Maple nous donne pour le développement asymptotique de \(\displaystyle \frac{\pi}{2}-2\sum_{k=0}^{n-1}\dfrac{(-1)^{k}}{2k+1}\) (\(n\) pair) \[\frac{1}{2n}-\frac{1}{(2n)^3}+\frac{5}{(2n)^5}-\frac{61}{(2n)^7}+\frac{1\,385}{(2n)^9}+\mathrm{O}\left(\frac{1}{(2n)^{11}}\right)\cdotp\]

On comprend dès lors l’intérêt de travailler avec \(\dfrac{\mathstrut\pi}{\mathstrut2}\) et \(2n\) égal à une puissance (\(>1\)) de dix : ceci évite aux termes correctifs de se diluer dans la sommation.

On conjecture alors une formule du type (toujours avec \(n\) pair) : \[\begin{aligned}
\frac{\pi}{2}-2\sum_{k=0}^{n-1}\dfrac{(-1)^{k}}{2k+1} &= \sum_{k=n}^{+\infty}\dfrac{(-1)^{k}}{2k+1} \\
&= \sum_{k=0}^{m-1}\dfrac{\mathrm{E}_{2k}}{(2n)^{2k+1}}+\mathop{\mathrm{O}}_{n\infty}\left(\frac{1}{n^{2m+1}}\right) \end{aligned}\]
qu’il s’agit de démontrer tout en majorant la constante qui se cache dans le \(\mathrm{O}()\).

Ce problème a été résolu seulement en 1989 par J. M. Borwein, P.B. Borwein et K. Dilcher [3]. La clef est une formule bien moins connue que la formule sommatoire d’Euler-Maclaurin mais de la même famille : la formule de Boole9.

Une version de cette formule s’énonce ainsi : soit \(x \in \mathbb{R}\) et \(m\) entier non nul ; si \(f\) est de classe \(\mathcal{C}^{\infty}\) sur \([x;x+1]\) alors pour \(h \in [0;1]\) et tout entier \(m \geqslant 1\), on a
\[\begin{aligned}
f(x+h) =& \sum_{k=0}^{m-1} \dfrac{1}{k{!}}\mathrm{E}_k(h)\frac{1}{2}\left\{f^{(k)}(x+1) +f^{(k)}(x)\right\} \\
& +\frac{1}{2}\int_0^1\dfrac{\widetilde{\mathrm{E}}_{m-1}(h-t)}{(m-1){!}}f^{(m)}(x+t)\,\mathrm{d}t.
\end{aligned}\]

Les \(\mathrm{E}_k(X)\) sont les polynômes d’Euler, images réciproques des \(X^k\) par l’isomorphisme \[P\longmapsto \dfrac{1}{2}\left(P(X+1)+P(X)\right).\]

Les \(\widetilde{\mathrm{E}}_m\) sont des fonctions périodiques de période \(2\) et de classe \(\mathcal{C}^{m-1}\) définies à partir des polynômes d’Euler par \(\widetilde{\mathrm{E}}_n(x)=\mathrm{E}_n(x)\) pour \(0 \leqslant x < 1\) et \(\widetilde{\mathrm{E}}_n(1+x)=-\widetilde{\mathrm{E}}_n(x)\) pour tout \(x\).

Le lecteur percevra sans doute une parenté (sous des hypothèses ad hoc) avec :

  • une formule de Taylor : \(\displaystyle f(x+h)=\sum_{k=0}^{m-1}\dfrac{h^k}{k !}f^{(k)}(x) +\int_0^h\dfrac{(h-t)^{m-1}}{(m-1) !}f^{(m)}(x+t)\,\mathrm{d}t\) ;
  • une formule d’Euler-Maclaurin : \[\begin{aligned}
    f(x+h) =& \sum_{k=0}^{m-1}\dfrac{\mathrm{B}_k(h)}{k{!}}\int_0^1f^{(k)}(x+t)\,\mathrm{d}t \\
    & -\int_0^1\dfrac{\widetilde{\mathrm{B}}_{m-1}(h-t)}{(m-1){!}}f^{(m-1)}(x+t)\,\mathrm{d}t.
    \end{aligned}\]
    où les \(\mathrm{B}_k(X)\) sont les polynômes de Bernoulli10 et les \(\widetilde{\mathrm{B}}_m\) des fonctions périodiques et régulières définies à partir des polynômes \(\mathrm{B}_k\).

Cette parenté s’explique en faisant appel aux opérateurs de composition.

La formule de Boole se démontre par récurrence en s’appuyant sur une intégration par parties, démonstration fort peu éclairante à dire vrai, car elle ne dévoile rien sur l’origine de cette formule.

On en déduit une formule sommatoire du type Maclaurin : on prend \(h=\dfrac{1}{2}\) et \(x=p \in \mathbb{N}^{\ast}\) et \(m=2M+1\), il vient \[\begin{aligned}
2(-1)^pf\left(p+\frac{1}{2}\right) =& \sum_{h=0}^{M}\frac{1}{2^{2h}(2h){!}}\mathrm{E}_{2h} \left\{ (-1)^pf^{(2h)}(p)-(-1)^{p+1}f^{(2h)}(p+1)\right\} \\
& +\int_p^{p+1}\frac{\widetilde{\mathrm{E}}_{2M}\left(\frac{1}{2}-u\right)}{(2M){!}}f^{(2M+1)}(u)\,\mathrm{d}u
\end{aligned}\]

puis, supposant valides toutes les convergences utiles :
\[\begin{aligned}
2\sum_{p=n}^{+\infty}(-1)^pf\left(p+\frac{1}{2}\right) =& \sum_{h=0}^{M}\frac{1}{2^{2h}(2h){!}}E_{2h}\left\{ (-1)^nf^{(2h)}(n) – \lim_{p \infty}(-1)^{p+1}f^{(2h)}(p+1)\right\} \\
& +\int_n^{{+}\infty}\frac{\widetilde{\mathrm{E}}_{2M}\left(\frac{1}{2}{-}u\right)}{(2M){!}}f^{(2M{+}1)}(u)\,\mathrm{d}u
\end{aligned}\]

En prenant \(f(x)=\dfrac{1}{x}\), on valide les convergences et on obtient une expression explicite du reste qui nous intéresse
\[\begin{aligned}
2\sum_{p=n}^{+\infty}(-1)^p\frac{1}{2p+1} =& (-1)^n\sum_{h=0}^{M}\frac{\mathrm{E}_{2h}}{(2n)^{2h+1}} \\
& -\frac{1}{2}\int_n^{+\infty}\widetilde{\mathrm{E}}_{2M}\left(\frac{1}{2}-u\right)\frac{2M+1}{u^{2M+2}}\,\mathrm{d}u.
\end{aligned}\]

Les \(\widetilde{\mathrm{E}}_k\) sont continues et périodiques donc bornées, disons par \(C_k\) ; on en déduit que
\[\begin{aligned}
\left|\frac{1}{2}\int_n^{{+}\infty}\widetilde{\mathrm{E}}_{2M}\left(\frac{1}{2}{-}u\right)\frac{2M{+}1}{u^{2M{+}2}}\,\mathrm{d}u\right| \leqslant\frac{C_{2M}}{2} & \int_n^{{+}\infty}\frac{2M{+}1}{u^{2M{+}2}}\,\mathrm{d}u \\
& = \frac{C_{2M}}{2n^{2M+1}}.
\end{aligned}\]

En supposant \(n\) pair, on a donc \[2\sum_{p=n}^{+\infty}(-1)^p\frac{1}{2p+1}=\sum_{h=0}^{M}\frac{\mathrm{E}_{2h}}{(2n)^{2h+1}}+r_{2M}\] avec \(0 \leqslant r_{2M} \leqslant \dfrac{C_{2M}}{\mathstrut 2n^{2M+1}}\), ce qui, à \(M\) fixé, valide le développement asymptotique. On peut démontrer, en étudiant les variations de \(\mathrm{E}_n(x)\) sur \([0;1]\), que \(\left|\widetilde{\mathrm{E}}_{2M}(x)\right| \leqslant \dfrac{|\mathstrut\mathrm{E}_{2M}|}{\mathstrut 2^{2M}}\) ; on en déduit enfin que \(\displaystyle r_{2M} \leqslant \dfrac{|\mathstrut\mathrm{E}_{2M}|}{\mathstrut(2n)^{2M+1}}\cdotp\)

Le calcul numérique peut alors être validé.

Calculer 1 000 décimales de \(\pi\) avec la formule de Leibniz

Le problème est donc de trouver un \(n\) et un \(M\) convenables ; la condition suffisante est \[\dfrac{2|\mathrm{E}_{2M}|}{(2n)^{2M+1}} < \frac{1}{2}10^{-1\,000}\]

On cherche \(n\) et \(M\) avec \(n \gg M\) car le calcul des \(\mathrm{E}_{2k}\), bien que non coûteux en temps, l’est en mémoire ; on peut démontrer que \[|\mathrm{E}_{2k}| \sim \dfrac{4^{k+1}(2k) !}{\pi^{2k+1}}\cdotp\]

En utilisant des logarithmes décimaux, on obtient le tableau

\(2k\) 100 200 500 1 000
nombre de chiffres de \(\mathrm{E}_{2k}\) 336 791 1 821 4 121

Une exploration numérique donne comme valeurs possibles \(M=118\) et \(2n=10^6\). Reste à écrire un programme de calcul (Xcas, Maple, Python avec le module Decimal) ce qui ne présente pas de difficulté particulière mais constitue un projet significatif.

D’autre part, l’équivalent donné de \(\mathrm{E}_{2M}\) prouve que, à \(n\) fixé, la série \(\displaystyle\sum \frac{\mathrm{E}_{2M}}{(2n)^{2M+1}}\) est très grossièrement divergente ; ce qui n’empêche pas ses sommes partielles de fournir des termes correctifs efficaces.

Un complément numérique  fournit démonstrations et programmes Python.

Cette introduction de termes correctifs dans le calcul de valeurs approchées de sommes de série ne s’applique pas uniquement à la série ici étudiée ; le lecteur curieux pourra faire ses propres expériences numériques sur les séries\(\displaystyle\sum_n \dfrac{(-1)^{n+1}}{n^k}\), \(\displaystyle\sum_n \dfrac{(-1)^{n+1}}{(2n+1)^k}\), et même \(\displaystyle\sum_n \dfrac{1}{n^2}\cdotp\)

Un programme Python (donné sur le complément numérique ) nous permet d’obtenir \[\begin{aligned}
3,&141\,592\,653\,589\,793\,238\,462\,643\,383\,279\,502\,884\,197\,169\,399\,375\,105\,820\,974\,944\,592\,307\,816\,406\,286\\
&208\,998\,628\,034\,825\,342\,117\,067\,982\,148\,086\,513\,282\,306\,647\,093\,844\,609\,550\,582\,231\,725\,359\,408\,128\\
&481\,117\,450\,284\,102\,701\,938\,521\,105\,559\,644\,622\,948\,954\,930\,381\,964\,428\,810\,975\,665\,933\,446\,128\,475\\
&648\,233\,786\,783\,165\,271\,201\,909\,145\,648\,566\,923\,460\,348\,610\,454\,326\,648\,213\,393\,607\,260\,249\,141\,273\\
&724\,587\,006\,606\,315\,588\,174\,881\,520\,920\,962\,829\,254\,091\,715\,364\,367\,892\,590\,360\,011\,330\,530\,548\,820\\
&466\,521\,384\,146\,951\,941\,511\,609\,433\,057\,270\,365\,759\,591\,953\,092\,186\,117\,381\,932\,611\,793\,105\,118\,548\\
&074\,462\,379\,962\,749\,567\,351\,885\,752\,724\,891\,227\,938\,183\,011\,949\,129\,833\,673\,362\,440\,656\,643\,086\,021\\
&394\,946\,395\,224\,737\,190\,702\,179\,860\,943\,702\,770\,539\,217\,176\,293\,176\,752\,384\,674\,818\,467\,669\,405\,132\\
&000\,568\,127\,145\,263\,560\,827\,785\,771\,342\,757\,789\,609\,173\,637\,178\,721\,468\,440\,901\,224\,953\,430\,146\,549\\
&585\,371\,050\,792\,279\,689\,258\,923\,542\,019\,956\,112\,129\,021\,960\,864\,034\,418\,159\,813\,629\,774\,771\,309\,960\\
&518\,707\,211\,349\,999\,998\,372\,978\,049\,951\,059\,731\,732\,816\,096\,318\,595\,024\,459\,455\,346\,908\,302\,642\,522\\
&308\,253\,344\,685\,035\,261\,931\,188\,171\,010\,003\,137\,838\,752\,886\,587\,533\,208\,381\,420\,617\,177\,669\,147\,303\\
&598\,253\,490\,428\,755\,468\,731\,159\,562\,863\,882\,353\,787\,593\,751\,957\,781\,857\,780\,532\,171\,226\,806\,613\,001\\
&927\,876\,611\,195\,909\,216\,420\,198\,938\,095\,257\,2
\end{aligned}\]
soit 1 009 décimales avec une formule n’en donnant en théorie que 6.

  1. Désiré André. « Sur les permutations alternées ». In : Journal de mathématiques pures et appliquées vol. 7 (1881). Disponible sur Gallica , p. 167-184.
  2. Philippe Henry et Gerhard Wanner. « Zigzags with Bürgi, Bernoulli, Euler and the Seidel–Entringer–Arnold triangle ». In : Elemente der Mathematik vol. 74 (2019), p. 141-168.
  3. Jonathan Borwein, Peter Borwein et Karl Dilcher. « Pi, Euler Numbers, and Asymptotic Expansions ». In : American Mathematical Monthly vol. 96. N°8 (1989), p. 681-687.

  1. Connue des mathématiciens indiens au XIVe siècle. 
  2. On verra plus loin que \(|\pi-s_n|\sim\dfrac{1}{n}\), ce qui valide la condition nécessaire alors qu’a priori une majoration ne fournit qu’une condition suffisante. 
  3. Exacte ne signifie pas identique; la \(p\)-ième décimale d’une valeur approchée \(\bar{x}\) d’un réel \(x\) est dite exacte si \(\left|x-\bar{x}\right|<\dfrac{1}{2}10^{-p}\); ainsi \(0,999\,7\) est une valeur approchée de \(1\) avec trois décimales exactes. 
  4. Cette question semble n’apparaître qu’en 1982 dans la revue Mathematical Gazette
  5. L’IEEE 754 est une norme informatique sur l’arithmétique à virgule flottante mise au point par le Institute of Electrical and Electronics Engineers  
  6. Il règne une grande cacophonie dans l’« arithmosphère » sur les définitions et les appellations; convenons ici de suivre le site expert OEIS
  7. On pourrait considérer aussi, plus lourdement, des développements limités. Le credo en combinatoire est plutôt de travailler avec des séries formelles. 
  8. Emprunté à [2]
  9. Il y a malheureusement autant de formes pour cette dernière que d’auteurs… Nous allons suivre [3]
  10. Voir la page Wikipedia   pour une brève revue. 

⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅♦⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅

François Boucher, à la retraite depuis quelques années, continue de s’intéresser aux mathématiques et à leur enseignement. Il fait également partie de l’équipe d’Au fil des maths.

Adresse mail de l'auteur

Pour citer cet article : Boucher F., « Une curiosité numérique », in APMEP Au fil des maths. N° 548. 14 juin 2023, https://afdm.apmep.fr/rubriques/ouvertures/une-curiosite-numerique/.

Démonstrations et programmes

Dans cet article, Didier Dacunha-Castelle questionne le lien entre mathématiques et informatique, en particulier le rapport entre démonstrations en mathématiques et programmes informatiques.

Didier Dacunha-Castelle

© APMEP Mars 2023

⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅♦⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅

Continuer la lecture de Démonstrations et programmes