Utilisateur:Tegmine/Brouillon

En analyse numérique, le procédé de Overholt est une méthode non linéaire d'accélération de la convergence de suites numériques. Cet algorithme a été proposé par K.J Overholt[1]. C'est une généralisation de l'algorithme Delta-2 d'Aitken.

Présentation

modifier

Soit une suite numérique Sn dont on cherche à connaitre la limite S. le procédé de Overholt consiste à calculer un tableau en initialisant la première colonne par la suite Sn, et en calculant les autres cases à l'aide des relations suivantes :

Les différentes colonnes du tableau fournissent d'autres suites convergeant sous certaines conditions plus vite que la suite Sn d'origine (la première colonne étant égale au Δ² de Aitken). Les différences des termes consécutifs de la suite Sn apparaissant à de multiples reprises dans l'algorithme, il est judicieux de les calculer une fois pour toute.

On présente traditionnellement les résultats du procédé de Overholt sous forme d'un tableau aux lignes décalés: la formule de calcul du procédé de Overholt relie ainsi les termes formant un triangle dans le tableau. Le calcul de Vk(n) nécessite la connaissance de k+2 termes de la suite originale; de Sn à Sn+k+1.

Propriétés

modifier

Le modèle de convergence de la suite Sn sur lequel le procédé de Overholt est bâti est:

avec ak des constantes arbitraires. Le procédé de Overholt permet d'éliminer un à un les termes d'ordre k. Le modèle de convergence du Δ² d'Aitken étant égal au premier terme de celui du procédé d'Overholt, il en est un cas particulier.

Si la suite à accélérer suit le modèle de convergence du procédé d'Overholt, on a:

La suite accélérée est donc d'ordre k. Ce type de modèle de convergence se rencontre notamment pour les suites issues d'une formule de récurrence de type point fixe, où la fonction de récurrence est k fois différentiable. Le procédé d'Overholt sera donc très efficace pour accélérer la convergence de méthodes itératives de recherche de zéros de fonctions. Il est une généralisation de la méthode de Steffensen.

Lorsque la suite Sn ne présente pas ce type de convergence, le procédé d'Overholt converge vers la limite de Sn à partir d'un rang N si:


Variantes

modifier

la variante confluente

modifier

Le procédé de Overholt classique accélère une suite numérique, c'est à dire une fonction d'une variable discrète 'n'. La version confluente de cet algorithme accélère la convergence d'une fonction d'une variable continue 't'. On l'obtient en faisant un changement de variable x=t+n*h à l'algorithme d'origine, et en faisant tendre h vers 0. on obtient:

Cet algorithme est utilisé par exemple pour l'évaluation des intégrales impropres lorsque les dérivées de la fonction sont accessibles, ou à l'élaboration de séries asymptotiques pour certaines fonctions.

La dérivée des termes apparaissant dans la formule peuvent se ramener aux dérivées de la fonction de base f(t) par calcul formel. On obtient pour les premiers termes:

Exemples

modifier
  • Résolution d'une équation non linéaire

Le procédé de Overholt étant une généralisation du Delta-2 d'Aitken, il fournit aussi une généralisation de la méthode d'Aitken-Steffensen pour la résolution numérique d'une équation non linéaire. L'ordre de la méthode peut être arbitrairement choisi en fonction du nombre de colonnes calculés. La méthode consiste à écrire l'équation à résoudre f(x)=0 sous la forme g(x)=x. A partir d'une valeur initiale de la racine x0, générer l’itération:

Deux techniques peuvent être employées avec cet algorithme: l'accélération en parallèle de la suite originale, et l'injection périodique du résultat de l'algorithme dans la suite initiale. Dans ce dernier cas, si le résultat de la colonne m est injecté, la méthode obtenue sera d'ordre m. Pour m=2, nous obtenons la méthode d'Aitken-Steffensen. Pour m=3, nous obtenons une méthode du même ordre que celle de Halley, mais ne nécessitant pas la connaissance des dérivées premières et secondes. Par exemple, pour résoudre l'équation exp(x)=x, en initialisant l'itération avec x=0:

Technique 1: accélération en parallèle de la suite originale (les chiffres corrects sont en gras):

Application du procédé d'Overholt à la suite xn+1=exp(xn). Solution: x=0,567143290409784...
n xn V1n-2 V2n-3 V3n-4 V4n-5 V5n-6
0 0
1 1
2 0,367879441171442 0,612699836780282
3 0,692200627555346 0,582226096995623 0,571338046118197
4 0,500473500563637 0,571705767527252 0,566054029276901 0,566958775047447
5 0,606243535085597 0,568638805864466 0,567297063612060 0,567118366865691 0,567134657534919
6 0,545395785975027 0,567616994846635 0,567111546919251 0,567141218391841 0,567144029145037 0,567143473642271
7 0,579612335503379 0,567296752488634 0,567148656593343 0,567143054064078 0,567143258010325 0,567143299061987
8 0,560115461361089 0,567192427887207 0,567142270414790 0,567143267441413 0,567143292585929 0,567143290626724
9 0,571143115080177 0,567159133834001 0,567143472075663 0,567143287953763 0,567143290292488 0,567143290417986
10 0,564879347391049 0,567148379226958 0,567143256823608 0,567143290160588 0,567143290416985 0,567143290410035

Le nombre de chiffres exacts passe de 2 dans la suite initiale, à 10 après application du procédé d'Overholt (il aurait fallu 45 itérations de base pour obtenir la même précision) Technique 2: réinjection du résultat de la colonne m, après m itérations de base (les itérations de bases sont en maigre; les réinjections sont en gras dans le tableau):

Réinjection périodique du procédé d'Overholt à la suite xn+1=exp(xn). Solution: x=0,567143290409784...
n nV10 nV20 nV30 nV40 nV50 nV60
0 0 0 0 0 0 0
1 1 1 1 1 1 1
2 0,367879441171442 0,367879441171442 0,367879441171442 0,367879441171442 0,367879441171442 0,367879441171442
3 0,612699836780282 0,692200627555346 0,692200627555346 0,692200627555346 0,692200627555346 0,692200627555346
4 0,541885888907111 0,571338046118197 0,500473500563637 0,500473500563637 0,500473500563637 0,500473500563637
5 0,581650289552568 0,564769245604983 0,566958775047447 0,606243535085597 0,606243535085597 0,606243535085597
6 0,567350857702887 0,568491313492426 0,567247946714562 0,567134657534919 0,545395785975027 0,545395785975027
7 0,567025582228799 0,566379283228498 0,567083938394566 0,567148186507974 0,567143473642271 0,579612335503379
8 0,567210051743956 0,567143289125034 0,567176952505934 0,567140513627344 0,567143186490718 0,567143293361668
9 0,567143294830715 0,567143291138421 0,567124199499133 0,5671448652455 0,567143349346788 0,567143288735643
10 0,567143287902483 0,567143289996542 0,567143290409784 0,567142397252977 0,567143256984058 0,567143291359262
11 0,567143291831783 0,567143290644151 0,567143290409784 0,5671437969579 0,56714330936696 0,567143289871294
12 0,567143290409784 0,567143290409784 0,567143290409784 0,567143290409784 0,567143279658349 0,567143290715185

L'accélération est encore meilleure avec les injections périodique. La peine précision est obtenue dans certains cas avec 8 itérations de base, au lieu de 10 avec le procédé classique, et une centaine sans accélération.

Exemple : interpolation polynomiale de la fonction logarithme népérien et calcul des fraction rationnelles correspondantes à l'aide de l'epsilon algorithme d'interpolation[2]

La fonction logarithme sera interpolée en trois points: 1/2, 1 et e. Pour tester la mise en œuvre de l'algorithme dans le cas d'une interpolation d'Hermite, l'interpolation en 1/2 sera double (interpolation du logarithme et de sa dérivée), et triple en 1 (interpolation du logarithme, et de ses dérivées premières et secondes). Il s'agit d'un polynôme de degré 5 qui doit donc vérifier: P(0.5)=-ln(2); P'(0.5)=2; P(1)=0; P'(1)=1; P"(1)=-1; P(e)=1.

Tableau des différences divisées pour l'interpolation polynomiale de ln(x) en 3 points
i xi yi / d0 d1 d2 d3 d4 d5
0 2,71828182845904 1 0,581976706869326 -0,243279819530861 0,149405165216329 -0,178413885100506 0,24817470934455
1 1 0 1 -0,5 0,545177444479562 -0,728935333122626
2 1 0 1 -0,772588722239781 0,909645111040875
3 1 0 1,38629436111989 -1,22741127776022
4 0.5 -0,693147180559945 2
5 0.5 -0,693147180559945

Les cases en italiques correspondent à des indéterminées des différences divisées (du fait des points doubles ou triples), et sont remplacés par les valeurs de la dérivée en ce point (ou de f"(x)/2! pour la différence seconde). Les cases en gras dans le tableau sont celles utiles au calcul de la forme de Newton du polynôme d'interpolation. Le polynôme s'écrit, à l'aide de la formule de Newton:

  • Calcul de P5(2), et application de l'epsilon algorithme d'interpolation

La suite des Pi(2) servant à initialiser le tableau de l'epsilon algorithme d'interpolation, est la suite de polynôme de degré 0,1,2... obtenu en retenant 1,2,3... termes du polynôme P5(2) écrit sous la forme de Newton ci dessus. Cette suite de polynôme passent respectivement par les points d'abscisse (x0,y0); (x0,y0),(x1,y1); (x0,y0),(x1,y1),(x2,y2);...

Comparaison de l'interpolation polynomiale et rationnelle par l'epsilon algorithme d'interpolation
Interpolation polynomiale de ln(2)=0,693147180559945..., et calcul de l'epsilon algorithme d'interpolation
i xi ε(i)-1 Pi(x)= ε(i)0 ε(i)1 ε(i)2 ε(i)3 ε(i)4
0 2,71828182845904 0 1 -2,39221119117733 0,705207033512282 -61,0702755830021 0,693879569827545
1 1 0 0,581976706869326 5,72267438319407 0,69023539353372 121,870014050176 0,692833802968095
2 1 0 0,756720180469139 -9,31836050756016 0,695317144633344 -146,585461084686
3 1 0 0,649405165216329 5,20217803449192 0,690925043467957
4 0.5 0 0,777556616828803 -2,49324571003365
5 0.5 0 0,51016754082086


La valeur de P5(2), pourtant située dans l'intervalle d'interpolation, est assez éloignée de ln(2), valeur de la fonction à interpoler. Sur le graphique, on note une forte dégradation des qualités d'interpolation du polynôme entre 1.5 et e. La présence d'un pôle à proximité de l'intervalle d'interpolation, ainsi que la croissance logarithmique de la courbe se prête mal à l'interpolation par polynômes. Ceci se prête d'avantage à l'interpolation rationnelle. L'application de l'epsilon algorithme d'interpolation à ce polynôme améliore significativement les qualités d'interpolation sur cet exemple. Sur le graphique, certaines fractions rationnelles obtenues sont presque indiscernable de la fonction à interpoler, dans l'intervalle d'interpolation, et au delà. Les nombres en gras dans la table de l'epsilon algorithme représente les fraction rationnelles d'interpolation de degré 5/0, 4/1 et 3/2. Elle peut être continuée pour intégrer celles de degré 2/3, 1/4 et 0/5.

  1. K. J. Overholt, "Extended Aitken acceleration," BIT, v. 6, 1965, pp. 122-132.
  2. Guido Claessens, « Some aspects of the rational Hermite interpolation table and its applications », Ph. D. thesis, University of Antwerp,‎

Références

modifier
  • Claude Brezinski, Algorithmes d'accélération de la convergence: étude numérique, éditions Technip, 1978, (ISBN 2-7108-0341-0)

Voir aussi

modifier

Articles connexes

modifier