Au XVIIe siècle, William Brouncker calcule ln2 à la main, en découpant l'aire sous une hyperbole. C'est l'un des travaux sur la quadrature de l'hyperbole cités par le programme.
13.1 Le découpage en rectangles
On sait que ln2=∫12xdx. On remplit l'aire sous la courbe par des rectangles.
- Un grand rectangle sous la courbe, de base [1;2] et de hauteur 21. Son aire vaut 21=1×21.
- On coupe en 23. Au-dessus du grand rectangle, un rectangle de base [1;23] tient sous la courbe, entre les hauteurs 21 et 32. Son aire vaut 21×(32−21)=121=3×41.
- On recoupe chaque morceau en deux. Deux rectangles de largeur 41 s'ajoutent : 41×(54−32)=301=5×61 et 41×(74−21)=561=7×81.
La règle apparaît : on multiplie deux entiers consécutifs, en partant d'un nombre impair. On pose
Sn=∑k=1n(2k−1)×2k1=1×21+3×41+⋯+(2n−1)×2n1.
13.2 Une somme alternée
Pour tout entier k≥1, (2k−1)×2k1=2k−11−2k1. Donc
Sn=1−21+31−41+⋯+2n−11−2n1.
13.3 Pourquoi Sn tend vers ln2
On reprend la suite (In) de la leçon 10 : I0=ln2, et In+In+1=n+11. Donc I0=1−I1, puis I1=21−I2, et ainsi de suite :
ln2=I0=1−21+I2=1−21+31−41+I4=⋯=Sn+I2n.
Or 0≤I2n≤2n+11. Donc
0≤ln2−Sn≤2n+11,etn→+∞limSn=ln2.
On sait même où s'arrêter : pour une erreur d'au plus 10−3, il suffit de prendre n=500.
13.4 Le programme
def brouncker(n):
s = 0
for k in range(1, n + 1):
s = s + 1 / ((2 * k - 1) * (2 * k))
return s
| n |
10 |
100 |
1000 |
10000 |
| Sn |
0,66877 |
0,69065 |
0,69290 |
0,69312 |
Ces valeurs restent en dessous de ln2≈0,69315. La convergence est lente : une décimale de plus demande environ 10 fois plus de termes.
13.5 Le lien avec les rectangles
La valeur S10≈0,66877 est exactement la somme des rectangles à droite de la leçon 11, pour n=10. Ce n'est pas un hasard : l'exercice 25 montre que Sn est égale à la somme des rectangles à droite à n morceaux, pour tout n. Brouncker faisait donc déjà, à la main, la méthode des rectangles.