![]() » accélération de convergence |
L'objectif est ici d'accélérer la convergence s'une série convergente afin de trouver une bonne valeur approchée de sa somme. Cette simple et très efficace accélération de convergence est empruntée au mathématicien russe Vladimir Ivanovich Smirnov (1887-1974), dans son cours de mathématiques supérieures, Tome 1, ch. IV, Traduction française : Éd. Mir, Moscou - 1981.
Dans son Logarithmotechnia, Nicolaus Mercator calcule l'aire sous l'hyperbole x → 1/x en exhibant le développement :
correspondant au développement en série de la fonction x → ln(1 + x) pour |x| ≤1, ln désignant le logarithme népérien.
Cette série est convergente et lorsque x = 1, elle est appelée série harmonique alternée, eu égard à la série harmonique (laquelle est divergente) : la somme 1 +1/2 + 1/3 + 1/n + ... est infinie.
Ici, selon un résultat de Leibniz, cette série étant alternée, l'erreur faite en limitant la somme au rang n est inférieure au terme de rang n + 1, donc inférieure à 1/n :
On conçoit donc que la convergence sera lente.
Programmation JavaScript de la méthode : |
Les résultats sont conformes à la théorie :
la convergence en 1/n est très lente.Rappel : ln 2 = 0,6931471805599...
<SCRIPT
LANGUAGE=JavaScript> |
@
Visualisation des calculs au moyen du tableurAccélération de la convergence : |
On peut accélérer la convergence par un changement de variable : changeons x en -x dans la série de Mercator. On obtient alors par différence :
changeons maintenant x en
:
La convergence sera d'autant plus rapide que x est petit devant a.
Pour calculer ln 2, on choisit x = 1 et, successivement a = 15, a = 24 et a = 8; notons respectivement s1, s2 et s3 les sommes entre crochets obtenues pour ces valeurs.
On a :
- 4Ln 2 - Ln 3 - Ln 5 = 2s1
- 2Ln 5 - Ln 3 - 3Ln 2 = 2s3
- 2Ln 3 - 3Ln 2 = 2s2
Et par combinaison, on obtient :
Programmation JavaScript de la méthode d'accélération : |
Rappel : ln 2 = 0,6931471805599...
Pas mal, voire impressionnant...
! La 16è décimale n'est pas assurée car on est là en limite des possibilités du langage (16 chiffres significatifs). On peut améliorer les calculs en usant d'artifices comme ici ou là...
<SCRIPT
LANGUAGE=JavaScript> |