Télécharger la présentation
1
METHODES ITERATIVES DE RESOLUTION DE SYSTEMES LINEAIRES: JACOBI, GAUSS-SEIDEL, S.O.R.
2
Johann Carl Friedrich GAUSS
Carl Gustav Jacob JACOBI Johann Carl Friedrich GAUSS Philipp Ludwig von SEIDEL
3
Pierre-Louis LIONS 1956- Médaille Fields en 1994 SMAI: Société de mathématiques appliquées et industrielles
4
Les méthodes de Jacobi, Gauss-Seidel et S. O. R
Les méthodes de Jacobi, Gauss-Seidel et S.O.R. (Successive Over Relaxation) sont des méthodes itératives de résolution de systèmes linéaires. Pour résoudre un système Ax=b où A est une matrice (n,n) et b , elles construisent des suites qui vérifient la relation: M matrice (n,n) et c étant définis à partir de A et b. Dans la suite, A est supposée réelle et régulière.
5
I Description des méthodes, programmation et écriture vectorielle.
I-1 Méthode de Jacobi a) par points A partir d ’un vecteur x(0) quelconque pris dans , on construit la suite de vecteurs x(p) dans suivant les formules: Remarque: (1) (2)
6
Sur le système à résoudre, elles s’écrivent:
est tiré de l’équation n° i, en laissant les autres composantes à leur valeur dans l’itération p. Remarque: La méthode ne peut être mise en œuvre que si
7
Exemple: Jacobi:
8
La programmation de méthode de Jacobi est simple:
2 tableaux unicolonnes X et Y suffisent pour simuler l’itération Dans le tableau Y, on stocke l’itéré (p+1) qui est calculé à partir du tableau X contenant l’itéré p. On écrase ensuite les valeurs du tableau X par celle de Y
9
Initialisation à partir des données du problème
Exemple: Problème (P1, h) avec ]a,b[=]0,1[ et numérotation des nœuds dans l’ordre naturel. Astuce de programmation! Initialisation à partir des données du problème Le tableau X est de dimension n+2 au lieu de n pour prendre en compte les conditions aux limites toutes les équations sont traitées dans une seule boucle 1 itération de Jacobi
10
Remarque: Sur ce problème la méthode de Jacobi est beaucoup plus coûteuse que la méthode de Gauss. Il n’est donc pas conseillé de l’utiliser. En effet le coût de Gauss est en O(n) car la matrice est tridiagonale. On verra dans le paragraphe II que celui de Jacobi est en O(n3).
11
b) par blocs Le système Ax=b est écrit sous la forme par blocs suivante Pour i=1 à r ,Aii sont des matrices carrées (mi,mi) supposées inversibles. On a donc
12
La formule par points (1) s’étend en une formule par blocs de la façon suivante
Si mi=1, pour i=1 à r, les matrices Aii se réduisent à des scalaires et la méthode par blocs coïncide avec la méthode par points.
13
Exemple: Jacobi par blocs: Attention! Le calcul X=H-1Y se programme comme une résolution du système HX=Y. On ne calcule pas H-1 (trop coûteux).On factorise H.
14
I-2 Méthode de Gauss-Seidel a) par points
Au lieu d’attendre une itération entière comme il est fait dans la méthode de Jacobi, on corrige au fur et à mesure. On tire de l’équation n° i, les valeurs des autres composantes étant fixées à pour j<i et pour j>i.
15
On obtient alors les formules:
Remarques: (4) (5) Comme pour Jacobi, la méthode ne peut être mise en œuvre que si
16
Exemple: Gauss-Seidel:
17
Dans la méthode de Jacobi, le calcul des composantes de x(p+1) peut se faire dans un ordre quelconque. Ce n’est pas possible pour Gauss-Seidel. Il faut avoir calculé pour calculer La programmation de méthode de Gauss-Seidel est cependant plus simple que celle de Jacobi
18
1 seul tableau unicolonne X suffit pour simuler l’itération
Dés qu’elle calculée,la « nouvelle » valeur de la composante écrase « l’ancienne » valeur La programmation est ainsi simplifiée.
19
b) par blocs On reprend la décomposition par blocs introduite pour la méthode de Jacobi. La formule par points (4) s’étend en une formule par blocs de la façon suivante
20
Exemple: Gauss-Seidel par blocs
21
I-3 méthode S.O.R. par points
En vue d’accélérer la convergence de la méthode de Gauss-Seidel, on introduit un paramètre réel (8) s’écrit apparaît comme une pondération
22
Remarques: a) la méthode ne peut être mise en œuvre que si b) On peut aussi définir une méthode S.O.R. par blocs. c) En pratique, doit être pris dans C’est une condition nécessaire de convergence (ce sera vu dans la suite).
23
I-4 Test d ’arrêt La méthode de Gauss est une méthode directe au sens où elle fournit la solution du système en un nombre fini d’opérations élémentaires. Par contre, Jacobi,Gauss-Seidel et S.O.R. sont des méthodes itératives . Pour déterminer quand on arrête l’itération, il faut introduire un test d’arrêt basé sur un critère permettant d’estimer si on est « proche » de la solution. Par exemple, le plus simple est un test sur le résidu. est une norme sur et un réel positif « petit » à choisir en fonction du problème
24
Pour en prendre en compte les cas où la méthode itérative ne converge pas ou trop lentement, on introduit un nombre d’itérations maximum à ne pas dépasser. algorithme général initialisation
25
Remarque: comment choisir ?
a) On montre que est un réel strictement positif qui dépend de A et qui peut être grand! Exemple: matrice et norme du max , cA= O(h-2) b) la précision attendue doit tenir compte du problème qui est à l’origine du système. Exemple: problème (P1) discrétisation On a vu que l’erreur de discrétisation est bornée par un O(h2). Pour h "petit" est donc adaptée.
26
I-5 Ecriture sous forme vectorielle
Nous allons montrer que les 3 méthodes s’écrivent sous la forme a) Méthodes par points A=D-E-F diagonale triangulaire inférieure stricte triangulaire supérieure stricte On suppose donc D inversible.
28
Jacobi J : matrice d ’itération de Jacobi
29
Gauss-Seidel D-E est triangulaire inférieure inversible car D est inversible L1 : matrice d ’itération de Gauss-Seidel
30
S.O.R. D - E est triangulaire inférieure inversible car D est inversible : matrice d ’itération de S.O.R.
31
b) Méthodes par blocs On pose A = D - E - F
On suppose les matrices Aii inversibles donc D inversible. Les méthodes par blocs conduisent alors à des écritures formellement identiques . Exemple: La matrice d’itération de Jacobi par blocs est donné par I-D-1A .
32
I-6 Splitting de matrices
Nous allons voir que les méthodes de Jacobi,Gauss-Seidel et S.O.R. si peuvent se mettre sous la forme Les méthodes définies par (15) pour résoudre Ax=b sont appelées « méthodes de splitting ».
34
Conditions de convergence ?
Supposons que la suite {x(p)}définies par (15) converge vers une limite notée x*. Il vient: A1x*=A2x*+b (A1-A2)x*=b Ax*=b Quand il y a convergence, c’est donc vers la solution du système. Conditions de convergence ?
35
II-Etude de la convergence
II-1 Etude de la convergence d ’une itération linéaire a)Rappels et compléments sur les matrices et normes de matrices Soit A une matrice carrée (n,n) à valeurs complexes ou réelles. La matrice adjointe A* de A est définie par Si A=A* A est dite hermitienne (ou autoadjointe) On notera Sp(A) le spectre de A qui est l’ensemble de ses valeurs propres.
36
Norme de matrice: A partir d’une norme de vecteurs sur notée une norme notée peut être définie sur l’espace des matrices carrées (n,n) à valeurs complexes ou réelles: est dite norme de matrice induite par la norme de vecteurs
37
(16) Id=matrice identité Une norme de matrice n’est pas forcément une norme de matrice induite . mais N(Id)=
38
Une norme de matrice qui vérifie (18) est dite norme matricielle
2 inégalités qui seront utilisées dans la suite: (16) Si A et B sont 2 matrices (n,n) (16)+(17) Une norme de matrice qui vérifie (18) est dite norme matricielle
39
Définition1 On appelle rayon spectral de A le nombre réel noté défini par Remarque:
40
Proposition 1 Pour , on note Ces normes sur induisent des normes de matrice qui vérifient respectivement les égalités admise
41
Conséquences de la proposition 1:
Exemple:
42
Théorème 1 (Householder)
Soit A une matrice carrée à valeurs réelles ou complexes . Alors Conséquences: pour une norme induite quelconque En particulier sont des majorants facilement calculables en pratique. En particulier
43
b) conditions nécessaires et suffisantes de convergence
Soit M une matrice carrée (n,n) réelle et c un vecteur de Définition 2 L’itération linéaire définie par est dite convergente si quel que soit le vecteur de départ , la suite converge vers la même limite. Remarque: Si M est la matrice identité et c le vecteur nul, l’itération linéaire (19) construit une suite stationnaire donc convergente mais dont la limite dépend du point de départ. Elle ne vérifie donc pas la définition 2.
44
Théorème 2 L’itération linéaire définie par (19) est convergente si et seulement si Lemme Les propositions suivantes sont équivalentes De plus, si elles sont vérifiées I-M est régulière
45
Démonstration du théorème:
Supposons la convergence de l ’itération linéaire. Soit x la limite de la suite x(0) est quelconque dans et x ne dépend pas de x(0) par hypothèse
46
Supposons lemme I-M est régulière Soit x la solution du système (I-M)x = c donc la suite converge vers x qui ne dépend pas de x(0)
47
Si l’itération est convergente, le taux de décroissance moyen pour les p premiers pas peut être estimé par On montre que Le rayon spectral de la matrice d’itération mesure donc la vitesse asymptotique de convergence De 2 itérations linéaires, on choisira celle qui a le plus petit
48
c)Estimation du nombre d’itérations à partir du rayon spectral de la matrice d ’itération
On veut estimer le nombre d’itérations p, suffisant pour que Attention cette estimation a surtout un intérêt théorique . On ne doit pas l’utiliser pour un test d’arrêt dans un code car elle est trop coûteuse à calculer!
49
Exemple d’application
50
Estimations du nombre d’itérations et du coût:
Coût d’une itération ? 3 opérations par composante coût en O(N) Coût total de Jacobi: estimation asymptotique: O(N3) Rappel :coût de Gauss sur matrice tridiagonale (N,N) : O(N) Conclusion: Il ne faut pas résoudre ce système par la méthode de Jacobi !
51
II-2 Application aux méthodes de Jacobi, Gauss-Seidel et S.O.R.
Définition 3 Soit A une matrice(n,n) à valeurs réelles ou complexes. On dit que A est à diagonale strictement dominante si Lemme de Hadamard: A à diagonale strictement dominante A régulière
52
Les méthodes de Jacobi et Gauss-Seidel par points pour
Théorème 3 Les méthodes de Jacobi et Gauss-Seidel par points pour résoudre un système de matrice à diagonale strictement dominante sont des itérations linéaires convergentes. Démonstration en TD Théorème 4 (Kahan) La matrice d’itération de S.O.R. par points ou par blocs vérifie La méthode S.O.R. n ’est donc pas convergente si
53
Démonstration (par points)
sont triangulaires respectivement de diagonales D et
54
Soit A et A1 2 matrices réelles (n,n). Si les matrices A
Théorème 5 (Ostrowski) Soit A et A1 2 matrices réelles (n,n). Si les matrices A et sont symétriques définies positives, l’itération linéaire définie à partir du splitting A=A1-(A-A1) est convergente. Admis Corollaire La méthode S.O.R. par points ou par blocs pour résoudre un système de matrice réelle symétrique définie positive est une une itération linéaire convergente si et seulement si En particulier la méthode de Gauss-Seidel est convergente.
55
Démonstration Théorème 4 Le splitting de S.O.R. est donné par A s.d.p. D s.d.p. d’après Théorème 5 S.O.R. converge
56
Sur un système de matrice tridiagonale par blocs, les
Théorème 6 Sur un système de matrice tridiagonale par blocs, les itérations de Jacobi et Gauss-Seidel par blocs convergent ou divergent simultanément avec Admis Application: Corollaire du th la méthode de Gauss-Seidel par blocs converge. théorème Jacobi par blocs converge mais moins vite que Gauss-Seidel par blocs
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.