METHODE DE GAUSS FACTORISATION LU
I-1 Présentation de la méthode I La méthode de Gauss I-1 Présentation de la méthode On veut résoudre un système de n équations à n inconnues Ax=b avec A matrice (n,n) d’éléments aij, b, x De la 1ère équation, on tire l’égalité On la reporte dans les équations 2 à n:
La 1ère équation de Ax=b et les équations (1) forment un système équivalent à Ax=b noté
Formules de passage de A(1), b(1) à A(2), b(2):
A partir du système A(2) x=b(2), on peut procéder de façon similaire à partir de la 2ème équation et l’inconnue x2 . En éliminant successivement x1,x2…xn-1, on construit ainsi une suite de systèmes équivalents A(k)x=b(k) k=1 à n k
Formules de passage de A(k), b(k) à A(k+1), b(k+1): partie non modifiée formules qui se traduisent par un calcul
k j i A(k) b(k) valeurs de A(k) et b(k) intervenant dans les formules (4) et (5) valeurs de A(k) et b(k) modifiés par les formules (4) et (5)
Si l’élimination est possible jusqu’au bout, l’algorithme aboutit à une matrice A(n) triangulaire supérieure. notations: U=A(n) d=b(n) Le système final Ux=d est équivalent au système initial Ax=b. Il se résout facilement par remontée:
Remarque: pour k=1 à n-1 A(k+1)=M(k)A(k) b(k+1)=M(k)b(k) M(k)= k
det(M(k))=1 car M(k) est triangulaire supérieure avec des 1 sur la diagonale. det(A(k+1))=det(M(k)A(k)) =det(M(k))det(A(k)) =det(A(k)) det(A(k+1))=det(A(k)) k=1 à n-1 det(A)=det(U) A inversible A(k) inversible pour k=1 à n
L’élimination de xk n’est possible que si Dans ce cas est dit pivot de l’étape k. Sinon le processus d’élimination doit être modifié.
1er cas: On permute l’équation k avec l’équation nouveau système On poursuit l’élimination avec comme pivot de l’étape k . 2ème cas: L’élimination de xk est donc déjà faite! A(k+1)=A(k) La phase d’élimination peut donc toujours être menée jusqu’à la fin.
Remarques: det(A)=(-1)p det(U) où p est le nombre de permutations d’équations effectuées dans la phase d’élimination. det(A)=0 det(U)=0 La phase de remontée complète n’est possible que si A est inversible (régulière). De plus si A est inversible, alors A(k) est inversible et on ne rencontre jamais le 2ème cas dans la phase d’élimination.
I-2 Programmation de la méthode a)cas sans permutation de lignes avec A régulière Réservations mémoire: 1 tableau A (n,n) initialisé avec les valeurs 1 tableau b (n) initialisé avec les valeurs bi 1 tableau x (n) pour la solution cherchée Durant la phase d ’élimination, les calculs se font uniquement dans les tableaux A et b (les valeurs initiales de A et b sont écrasées!) La phase de remontée s ’effectue à partir des valeurs finales contenues dans A et b.
Simulation sur un exemple où n=3: k=1 r=8/2=4 1 1 r=12/2=6 -12 -4 8 k=2 r=-12/1=-12 8 8
k=2 k=1
b)cas avec permutation de lignes Pas de permutation physique à l’intérieur des tableaux contenant A et b! Mise à jour de la numérotation à chaque permutation à l’aide d’un tableau supplémentaire Point (n). valeurs initiales de Point permutation de ligne n° k avec ligne n° k’
I-3 coûts de calcul Estimation des coûts de calcul ou de la complexité d’un algorithme =Estimation du nombre d’opérations élémentaires: additions, multiplications, divisions. L’unité de mesure de la puissance d’un calculateur est donné en Megaflops (Mflops) où 1 Mflops=106 opérations en virgule flottante par seconde. Cette mesure n’est qu’indicative car la vitesse de calcul peut varier en fonction de l’algorithme utilisé et de la taille du problème traité. Les plus gros calculateurs au monde ont des puissances supérieurs à 106 Mflops= 1 Teraflops
124 processeurs 6,55 Tflops 3136 Goctets Institut du Développement et des Ressources en Informatique Scientifique (IDRIS) IBM SP Power4 :ZAHIR 124 processeurs 6,55 Tflops 3136 Goctets
Le coût de résolution d’un système linéaire est donnée en fonction de sa dimension n, ce qui permet des comparaisons d’efficacité entre différentes méthodes. En pratique, on ne retient qu’une estimation asymptotique lorsque , suffisante pour les systèmes de grande taille.
Pour la méthode de Gauss, on obtient: Ses estimations s’obtiennent à partir de l’algorithme en utilisant les formules:
Illustration numérique montrant l’importance du choix d’une méthode de résolution: Formules de Cramer donnant la solution d’un système (n,n): Dj est le déterminant d’une matrice (n,n) Le calcul du déterminant par une méthode de développement par ligne conduit à un coût de résolution supérieur à (n+1)! Temps de résolution sur un système (100,100) sur un calculateur à 100 Mflops: inférieur à 1/100 seconde par Gauss de l’ordre de 10185 l ’age de l’Univers par méthode de Cramer
I-4 Un résultat théorique admis Ak désigne les sous-matrices principales de A définies par Théorème 1 Si det(Ak) 0 pour k=1 à n, alors la phase d’élimination est faisable sans permutation de lignes et les éléments diagonaux de la matrice triangulaire supérieure U ainsi obtenue sont données par
Remarque: A s.d.p. Ak s.d.p. k=1 à n det(Ak)>0 Conséquences: Sur une matrice s.d.p. l’élimination de Gauss peut se faire sans permutation de lignes et les éléments diagonaux de la matrice U obtenue sont strictement positifs.
II Factorisation LU II-1 Intérêt d ’une factorisation LU Définition 1 On dit qu’une matrice A(n,n) possède une factorisation LU si A=LU avec L matrice(n,n) triangulaire inférieure à diagonale unité et U matrice triangulaire supérieure.
Supposons que l’on doit résoudre successivement plusieurs systèmes de même matrice: Ax=bk k=1 à p Pour résoudre Ax=bk connaissant sa factorisation LU, on résout successivement 2 systèmes « triangulaires » Ly=bk (descente) puis Ux=y (remontée) On verra dans la suite que le coût de la factorisation est égal au coût de l’élimination de Gauss. On obtient alors le tableau des coûts asymptotiques suivant:
mieux que coût de p résolutions de Gauss
I-2 Conditions d ’existence et d ’unicité d’une factorisation LU Proposition 1(unicité) On suppose que A est régulière et admet une factorisation LU. Alors U est régulière et la factorisation est unique Démonstration: a) U régulière? det(A)=det(LU)=det(L)det(U)=det(U) 0
b) Unicité? Supposons A=L1U1=L2U2 L2 triang. inf.à diag.unité triang. inf.à diag unité L1 triang. inf.à diag. unité X triang. inf.à diag. unité U1 triang. sup. triang. sup. U2 triang. sup. X triang. sup. X =matrice identité d’où L1=L2 et U1=U2
Démonstration: on introduit les matrices L(k) Proposition 2 On suppose que l’élimination de Gauss est faisable sans permutation de lignes sur un système de matrice A supposée régulière. Alors A possède une factorisation LU avec U régulière. Démonstration: on introduit les matrices L(k) L(k)= k
On vérifie que L(k) =[M(k)]-1 A(k+1)=M(k)A(k) A(k)=[M(k)]-1A(k+1)=L(k)A(k+1) A=L(1)L(2)….L(n-1)A(n) On pose L= L(1)L(2)….L(n-1) produit de triang. inf. à diag. unité On pose U=A(n) triang. sup. régulière car A régulière
Théorème 2 A matrice (n,n) possède une factorisation LU avec U régulière si et seulement si ses sous-matrices principales Ak k=1 à n sont régulières.
Démonstration: a) Supposons det(A(k)) 0 k=1 à n Théorème 1 élimination de Gauss faisable sans permutation de lignes A=A(n) régulière + proposition 2 existence de la factorisation LU et U régulière
b) Supposons A=LU avec U régulière det(A11)=det(U11) 0 car U régulière Or A11 est une sous-matrice principale A(k).
I-3 Programmation de la factorisation LU L=L(1)L(2)…L(n-1)= L(1) L(2) L(k) ... L(n-1) aucun calcul pour effectuer le produit de matrices L(k)!
A(k) k élément qui n’est plus utilisé après le traitement complet de la ligne
Algorithme de factorisation
Simulation sur un exemple où n=3: algorithme de factorisation k=1 r=8/2=4 4 1 1 r=12/2=6 6 -12 -4 k=2 r=-12/1=-12 -12 8
III Matrices à structure particulière III-1 Matrice symétrique k A(k)= a(k) Notation: Proposition 4 Soit A une matrice (n,n) régulière et symétrique. Si la phase d’élimination de Gauss s’effectue sans permutation de lignes alors toutes les matrices a(k) k=1 à n sont symétriques.
a(1)=A symétrique par hypothèse Démonstration: (par récurrence) a(1)=A symétrique par hypothèse a(k) symétrique
Proposition 4 Soit A une matrice (n,n) régulière et symétrique. Si elle possède une factorisation A=LU alors U=DLt où D est une matrice diagonale . On a donc A=LDLt. et dii=uii i=1 à n. Démonstration: Soit A=LU . On introduit la matrice diagonale
Unicité de la factorisation U régulière D régulière On pose L1=LD et U1=D-1U A=L1U1 A=At Unicité de la factorisation soit A=LDLt
Remarque dans le cas où A est s.d.p. : A=LDLt avec dii>0 i=1 à n On pose d’où A=LD1/2D1/2Lt avec B=LD1/2, on obtient A=BBt dite factorisation de Cholesky
III-2 Matrice à structure bande Définition 2 On dit qu’une matrice A(n,n) est de structure bande avec une demi-largeur de bande m si m est le plus petit entier tel que |i-j|>m aij=0 n-m m+1
I matrice identité (n,n) a) Une matrice tridiagonale a une demi-largeur de bande égale à 1. Exemples: b) Matrice N=n2 H matrice (n,n) I matrice identité (n,n) Sa demi-largeur de bande est donc égal à
a n’est pas modifié si b ou c nul. Proposition 4 Soit A(n,n) une matrice de structure bande avec une demi-largeur de bande m. Si la phase d ’élimination de Gauss s’effectue sans permutation de lignes, alors toutes les matrices a(k), k=1 à n ont une structure bande avec une demi-largeur de bande inférieure ou égale à m. De plus m2 éléments changent de valeurs à l ’étape k dans la matrice a(k). a d b c A(k)= k a n’est pas modifié si b ou c nul.
: éléments non modifiés A(k)= k : éléments non modifiés :éléments modifiés m non modifié
Exemples: a) matrice (tridiagonale: m=1) Coût en O(n) L’économie de calculs se fait aussi dans la remontée car U est à structure bande. Coûts asymptotiques au lieu de au lieu de Exemples: a) matrice (tridiagonale: m=1) Coût en O(n) b) matrice Coût en O(n2)
Pour minimiser les coûts de calcul dans les méthodes de résolution par Gauss ou factorisation LU, on a donc intérêt à avoir la plus petite largeur de bande possible. Pour les matrices différences finies, cela revient à bien choisir l’ordre de numérotation des nœuds de la grille. Au chapitre suivant, nous présenterons des méthodes itératives de résolution dont le coût pour ces matrices est indépendant de l’ordre de numérotation. matlab