|
On se propose ici de prouver et de programmer l'égalité :
puis de la programmer sur ordinateur.
On sait que pour tout réel x, sin 2x = 2sin(x).cos(x), ce qui peut
s'écrire :
Il suit, par récurrence, la relation :
Considérons alors la suite (un) définie par cos un = cos(x/2n) où nous choisirons x = π/2. Dans ces conditions, la relation :
issue de cos2x = 2cos2x - 1, permet d'écrire la formule de récurrence :
et (r1) peut s'écrire sous la forme subtile... :
sans oublier que x = π/2. Le quotient du second membre tend vers 1 lorsque n tend vers l'infini. Ainsi, la suite de terme général pn = u1.u2...un est convergente (produit infini) de limite :
Nous avons alors :
Par récurrence sur cette forme des un , on est conduit à la formule de Viète.
Programmation de la formule en JavaScript : |
<SCRIPT
LANGUAGE=JavaScript> function go() { r2=Math.sqrt(2) u=r2/2 ; dsp = u iter=0 while (1) // boucle infinie car 1 possède la valeur logique 1 = vrai (true) { u=Math.sqrt((1+u)/2) dsp=dsp*u pi=2/dsp iter=iter+1 if (!confirm("n="+iter + ", pi= "+ pi)) {return} // le ! équivaut à la négation (not) } } </SCRIPT> |
Discussion : |
Le programme piétine au rang 25 : la dernière décimale est fausse. On atteint ici la précision 10-15 du langage JavaScript. Ne procédant pas par encadrement, on ne peut pas connaître l'erreur commise compte tenu des arrondis et du cumul éventuel de ces arrondis.
On pourra vérifier par récurrence que la suite (rn) définie en (r2) est :
La suite (un) est donc convergente (puisque croissante et majorée). Sa limite L est soit -1/2, soit 1 : remplacer un+1 et un par L dans (r2). Vu que (un) est positive, L = 1. C'est dire qu'en calculant un avec 15 décimales, l'ordinateur aura tôt fait de trouver 1, ce qui explique le piétinement que l'on constate visuellement dans la version tableur.
Cependant, connaissant aujourd'hui parfaitement les premières décimales de π, on peut considérer les calculs de la machine fort honorables et la formule de Viète tout à fait remarquable.