Thêta algorithme

From Wikipedia, the free encyclopedia

En analyse numérique, le θ-algorithme est un algorithme non linéaire d'accélération de la convergence d'une suite numérique dû à C. Brezinski[1]. C'est un algorithme hybride entre l'ε-algorithme et le ρ-algorithme de P. Wynn, qui ajuste automatiquement un facteur de relaxation pour optimiser l'accélération de la convergence. C'est un algorithme particulièrement polyvalent, capable d'accélérer des suites divergentes, à convergence linéaires ou logarithmiques.

L'ε-algorithme et le ρ-algorithme, bien que issus de théories différentes et ayant des applications complémentaires, ont une structure algorithmique très proche. La seule différence entre les algorithmes est la valeur du numérateur dans la formule de récurrence (égale à 1 pour l'ε-algorithme et k+1 pour le ρ-algorithme). L’idée du θ-algorithme est de proposer un numérateur qui optimise l'accélération de la convergence, se calculant automatiquement avec l'évolution des termes de la suite à accélérer.

L'algorithme part de la structure générale:

Ou Sn est la suite numérique dont on cherche à connaitre la limite S. Le numérateur ωnk est à déterminer pour optimiser au mieux la convergence. Brezinski a démontré que le numérateur optimal pour accélérer les colonnes paires était:

Ce choix nécessitant l'évaluation d'une limite dépendant de Sn, il est en pratique remplacé dans le θ-algorithme par sa meilleure approximation disponible, compte tenu des termes de Sn déjà calculés.

Finalement, le θ-algorithme 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 :


La formule de calcul du θ-algorithme permet de calculer les termes du tableau de haut en bas et de gauche à droite.

Les différentes colonnes d'indice k paires du tableau fournissent d'autres suites convergeant en général plus vite que la suite Sn d'origine. Les colonnes d'indice impaires sont considérés comme des intermédiaires de calcul. Il faut connaître 3 termes supplémentaires de la suite Sn pour passer d'une colonne paire du tableau à une autre. Ceci diffère de l'ε-algorithme et du ρ-algorithme, ou seulement 2 termes étaient nécessaires (dans le cas présent, un terme est utilisé pour estimer le facteur de relaxation).

Mises en œuvre

  • Mise en œuvre classique

Après chaque calcul d'un nouveau terme de la suite initiale, une diagonale montante du tableau du θ-algorithme est initiée. L'ajout de trois termes de la suite initiale permet de finaliser deux diagonales montantes du tableau. Pour faire des économies de mémoire, il est inutile de mémoriser l'intégralité du tableau dans ce cas d'utilisation. Seules les deux dernières diagonales ascendantes sont indispensables, ainsi que l'usage de trois variables auxiliaires[2].

  • Itération du θ-2

Chaque colonne paire du θ-algorithme génère une sous-suite qui converge vers la limite recherchée. Une possibilité est de partir d'une de ces sous-suites, et de lui appliquer de nouveau le θ-algorithme, de la même manière que pour la suite initiale. Plusieurs procédés peuvent être envisagés en fonction de la sous-suite choisie et l'utilisation de l'algorithme qu'on en fait. Le plus utilisé est l'itération de la 2ème colonne du θ-algorithme, appelé algorithme θ-2 (par analogie au Delta-2 d'Aitken, étant l'itéré de la 2ème colonne de l'ε-algorithme), ou transformation W itéré de Lubkin[3] . La procédure consiste à arrêter le développement du θ-algorithme à 2ème colonne, et de repartir de la suite de cette colonne comme point de départ pour appliquer à nouveau le θ-2. L'algorithme θ-2 bénéficie de plusieurs résultats théorique de convergence[4],[5], dont le θ-algorithme est dépourvu, d'où son intérêt.

  • optimisation par colonne

Lorsque la suite à accélérer à notre disposition comprend un nombre restreint de termes, il est utile d'optimiser au mieux leur usage pour approcher leur limite. Le θ-algorithme de base utilise 3 termes pour progresser de 2 colonnes (un des termes est sacrifié pour fournir une estimation du paramètre de relaxation ωnk). Dans l'idéal, le paramètre de relaxation optimal pour la colonne k est la limite de ωnk quand n tend vers l'infini. Une possibilité de modification est de calculer colonne par colonne. La première colonne étant calculée jusqu'au dernier terme disponible, colonne des facteurs de relaxation ωn1 en est déduite. Ceci permet d'estimer la limite de la suite ωn1, en retenant son dernier terme (ou en utilisant un accélérateur de convergence à cette suite). Cette valeur limite estimée est utilisée pour calculer la deuxième colonne de l'algorithme. Le calcul de cette colonne nécessite un terme de moins que dans la mise en œuvre classique. Les colonnes suivantes sont calculées de la même manière.

Exemples

Notes et références

Annexes

Related Articles

Wikiwand AI