Méthode de surrelaxation successive

Méthode de surrelaxation successive

En analyse numérique, la méthode de surrelaxation successive est une variante de la méthode de Gauss-Seidel pour résoudre un système d'équations linéaires. La convergence de cet algorithme est généralement plus rapide. Une approche similaire peut être appliquée à bon nombre de méthodes itératives.

Cette méthode a été découverte simultanément par David M. Young, Jr. (en) et Stan Frankel (en) en 1950 dans le but de résoudre automatiquement des systèmes linéaires avec des ordinateurs. Les méthodes de surrelaxations ont été utilisées auparavant. On citera la méthode de Lewis Fry Richardson et la méthode de R. V. Southwell. Ces méthodes étaient conçues pour des êtres humains et elles requéraient une expertise certaine afin d'assurer la convergence. Ces méthodes ne pouvaient être retranscrites sur ordinateur. Ces limitations ont été discutées dans la thèse de David Young[1]

Sommaire

Formulation

On considère un système linéaire de n équations avec n inconnues notées x (qui est un vecteur) :

A\mathbf x = \mathbf b

où :

A=\begin{bmatrix} a_{11} & a_{12} & \cdots & a_{1n} \\ a_{21} & a_{22} & \cdots & a_{2n} \\ \vdots & \vdots & \ddots & \vdots \\a_{n1} & a_{n2} & \cdots & a_{nn} \end{bmatrix}, \qquad  \mathbf{x} = \begin{bmatrix} x_{1} \\ x_2 \\ \vdots \\ x_n \end{bmatrix} , \qquad  \mathbf{b} = \begin{bmatrix} b_{1} \\ b_2 \\ \vdots \\ b_n \end{bmatrix}.

A étant la somme d'une matrice diagonale notée D et de deux matrices triangulaires (respectivement inférieure et supérieure) notées L et U :

A=D+L+U \qquad \text{avec} \quad D = \begin{bmatrix} a_{11} & 0 & \cdots & 0 \\ 0 & a_{22} & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\0 & 0 & \cdots & a_{nn} \end{bmatrix}, \quad L = \begin{bmatrix} 0 & 0 & \cdots & 0 \\ a_{21} & 0 & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\a_{n1} & a_{n2} & \cdots & 0 \end{bmatrix}, \quad U = \begin{bmatrix} 0 & a_{12} & \cdots & a_{1n} \\ 0 & 0 & \cdots & a_{2n} \\ \vdots & \vdots & \ddots & \vdots \\0 & 0 & \cdots & 0 \end{bmatrix} ,

le système d'équations linéaires peut être reformulé par :

(D+\omega L) \mathbf{x} = \omega \mathbf{b} - [\omega U + (\omega-1) D ] \mathbf{x}

pour tout ω > 0.

La méthode de surrelaxation successive est une méthode itérative initialisée par le choix d'un x0 arbitraire, et où chaque itération consiste à déterminer xn + 1 à l'aide de xn selon la formule suivante :

(D+\omega L) \mathbf{x_{n+1}} = \omega \mathbf{b} - [\omega U + (\omega-1) D ] \mathbf{x_n}

La matrice de gauche (D+ωL) étant triangulaire, il est aisé de calculer xn + 1 par :

 x^{(n+1)}_i  = (1-\omega)x^{(n)}_i + \frac{\omega}{a_{ii}} \left(b_i - \sum_{j>i} a_{ij}x^{(n)}_j - \sum_{j<i} a_{ij}x^{(n+1)}_j \right),\quad i=1,2,\ldots,n.

Le choix du facteur de relaxation n'est pas trivial et dépend des coefficients de la matrice. Pour une matrice définie positive, on peut démontrer que l'algorithme est convergent pour tout  \omega \in ]0,2[ . Toutefois, on veut une convergence aussi rapide que possible.

Algorithme

Entrée: A , b, ω
Sortie: ϕ

On choisit une solution initiale arbitraire ϕ(0). Répéter jusqu'à convergence

Boucler i de 1 à n
\sigma \leftarrow 0
Boucler j de 1 à i − 1
 \sigma \leftarrow \sigma + a_{ij} \phi_j^{(k+1)}
Fin (boucle j)
Boucler j de i + 1 à n
 \sigma \leftarrow \sigma + a_{ij} \phi_j^{(k)}
Fin (boucle j)
 \phi_i^{(k+1)} \leftarrow (1-\omega)\phi_i^{(k)} + \frac{\omega}{a_{ii}} (b_i - \sigma)
Fin (boucle i)
Vérifier la convergence.

Fin (boucle répétition)

Note:
(1-\omega)\phi_i^{(k)} + \frac{\omega}{a_{ii}} (b_i - \sigma) peut aussi être écrit \phi_i^{(k)} + \omega \left( \frac{b_i - \sigma}{a_{ii}} - \phi_i^{(k)}\right). Ceci économise une multiplication à chaque itération.

Autre applications de la méthode

Article principal : extrapolation de Richardson.

Une technique similaire peut être utilisée pour toute méthode itérative. On suppose que l'itération peut être écrite sous la forme:

xn + 1 = f(xn)

alors la méthode modifiée devient:

x^\mathrm{SOR}_{n+1}=(1-\omega)x^{\mathrm{SOR}}_n+\omega f(x^\mathrm{SOR}_n)

ou de manière équivalente:

xn = ωxn − 1 + (1 − ω)xn − 2 ω < 1 En pratique, le choix ω > 1 est utilisé pour accélérer la convergence tandis que le choix ω < 1 est souvent utilisé pour faire converger un processus divergent.

Il existe de nombreuses méthodes pour décider de la valeur à donner au paramètre ω, basées sur le comportement de l'algorithme. En principe ces méthodes permettent d'avoir une convergence superlinéaire dans beaucoup de cas, mais elles peuvent échouer dans certains cas.

Voir aussi

Notes

  1. David M. Young, Iterative methods for solving partial difference equations of elliptical type, vol. PhD thesis, Harvard University, 1er mai 1950 [lire en ligne] 

Références

Lien externe

(en) Module for the SOR Method


Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Méthode de surrelaxation successive de Wikipédia en français (auteurs)

Игры ⚽ Нужен реферат?

Regardez d'autres dictionnaires:

  • Méthode de Gauss-Seidel — La méthode de Gauss Seidel est une méthode itérative de résolution d un système matriciel de la forme Ax = b. Pour cela, on utilise une suite x(k) qui converge vers un point fixe x, solution du système d équations linéaires. En notant A = [aij]… …   Wikipédia en Français

  • Projet:Mathématiques/Liste des articles de mathématiques — Cette page n est plus mise à jour depuis l arrêt de DumZiBoT. Pour demander sa remise en service, faire une requête sur WP:RBOT Cette page recense les articles relatifs aux mathématiques, qui sont liés aux portails de mathématiques, géométrie ou… …   Wikipédia en Français

  • Stabilité numérique — En analyse numérique, une branche des mathématiques, la stabilité numérique est une propriété globale d’un algorithmique numérique, une qualité nécessaire pour espérer obtenir des résultats ayant du sens. Une définition rigoureuse de la stabilité …   Wikipédia en Français

  • Sor — Cette page d’homonymie répertorie les différents sujets et articles partageant un même nom. Sommaire 1 Lieux et communes 2 Rivières 3 …   Wikipédia en Français

  • MCMC — Markov chain Monte Carlo Les méthodes MCMC (pour Markov chain Monte Carlo) sont une classe de méthodes d échantillonnage à partir de distributions de probabilité. Ces méthodes se basent sur le parcours de chaînes de Markov qui ont pour lois… …   Wikipédia en Français

  • Markov chain Monte Carlo — Les méthodes MCMC (pour Markov chain Monte Carlo) sont une classe de méthodes d échantillonnage à partir de distributions de probabilité. Ces méthodes se basent sur le parcours de chaînes de Markov qui ont pour lois stationnaires les… …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”