unité #3 Analyse numérique matricielle Giansalvo EXIN Cirrincione
rappels Problème : fonction f : X Y de l’espace vectoriel normé X des entrées à l’espace vectoriel normé Y des solutions. Algorithme Axiom fondamental de l’arithmétique en virgule flottante Définition : la fonction T(n) est dite « grand O » de f(n) que l’on note T(n)=O(f(n)), s’il existe deux constantes C et n0 telles que
rappels Problème : fonction f : X Y de l’espace vectoriel normé X des entrées à l’espace vectoriel normé Y des solutions. Algorithme Stabilité d’un algorithme A stable algorithm gives nearly the right answer to nearly the right question.
rappels Stabilité d’un algorithme A stable algorithm gives nearly the right answer to nearly the right question.
rappels Stabilité backward d’un algorithme A backward stable algorithm gives exactly the right answer to nearly the right question.
Résolution de systèmes linéaires Théorème de Rouché-Capelli La solution d’un système linéaire (A carrée inversible n x n) ne s’obtient pas en calculant l’inverse de A. Le calcul de A-1 est équivalent à la résolution des n systèmes linéaires : où uj est le j-ème vecteur de la base de Kn.
4 principes fondamentaux Résolution de systèmes linéaires par des méthodes directes 4 principes fondamentaux On ne change pas la solution lorsque l’on : 1. permute 2 lignes 2. permute 2 colonnes 3. divise par un même terme non nul les éléments d’une ligne 4. ajoute ou retranche à une ligne un certain nombre de fois une autre ligne triangulaire ! Stratégie : transformer le système linéaire en un système équivalent … facile à résoudre
Résolution de systèmes linéaires par des méthodes directes problème A matrice diagonale solution Algorithme Fonction x = diago(A,b)
Résolution de systèmes linéaires par des méthodes directes problème A triangulaire inférieure Algorithme Fonction x = trianginf(A,b) solution
Résolution de systèmes linéaires par des méthodes directes problème A triangulaire inférieure solution
Résolution de systèmes linéaires par des méthodes directes problème A triangulaire supérieure Algorithme Fonction x = triang(A,b) solution
Résolution de systèmes linéaires par des méthodes directes problème A triangulaire supérieure Méthode de remontée solution Chaque composante xi apparaissant comme une fonction linéaire de bi , bi+1 , … , bn , ceci montre que l’inverse d’une matrice triangulaire est une matrice triangulaire du même type.
La méthode de Gauss Au = b , A : matrice inversible Une procédure d’élimination qui équivaut à déterminer une matrice inversible M telle que M A soit triangulaire supérieure. On calcule simultanément le vecteur M b. On résout le système linéaire M A u = M b par la méthode de la remontée. En pratique, on ne calcule pas explicitement la matrice M, mais seulement la matrice M A et le vecteur M b.
La méthode de Gauss exemple pivot (1)
La méthode de Gauss exemple (2) = (2) - (a21/pivot(1)) (1)
La méthode de Gauss exemple (2) = (2) - (a21/pivot(1)) (1)
La méthode de Gauss exemple (3) = (3) - (a31/pivot(1)) (1) Le première variable à été éliminée de toutes les équations sauf une.
La méthode de Gauss exemple pivot (2)
La méthode de Gauss Fonction A,b = descent (A,b) Triangularisation
La méthode de Gauss Fonction x = Gauss( A,b ) U, c = descent (A,b) x = triang (U,c) Fonction x = Gauss( A,b )
La méthode de Gauss Première étape de l’élimination i j i j L’un au moins des éléments de la première colonne est différent de zéro, sans quoi la matrice serait singulière. On choisit alors l’un des coefficients non nuls (premier pivot) de la première colonne de A. Ensuite, on échange la ligne du pivot avec la première ligne, ce qui revient à multiplier A à gauche par une matrice de permutation P. Pour l’échange des i-ème et j-ème lignes, on multiplie à gauche par la matrice P suivante. i j i j
La méthode de Gauss Première étape de l’élimination L’un au moins des éléments de la première colonne est différent de zéro, sans quoi la matrice serait singulière. On choisit alors l’un des coefficients non nuls (premier pivot) de la première colonne de A. Ensuite, on échange la ligne du pivot avec la première ligne, ce qui revient à multiplier A à gauche par une matrice de permutation P. Pour l’échange des i-ème et j-ème lignes, on multiplie à gauche par la matrice P suivante.
La méthode de Gauss Première étape de l’élimination Par des combinaisons linéaires appropriées de la première ligne et des autres lignes de la matrice PA, on annule tous les éléments de la première colonne de PA situés sous la diagonale, la première ligne restant inchangée.
La méthode de Gauss Seconde étape de l’élimination Elle consiste à effectuer les mêmes opérations que précédemment, mais seulement sur la sous-matrice ( bij ) , 2 i, j n , en laissant inchangée la première ligne, et ainsi de suite … ( k-1 )-ème étape de l’élimination (2 k n )
La méthode de Gauss k-ème étape de l’élimination (2 k n )
La méthode de Gauss ( n-1 )-ème étape de l’élimination
La méthode de Gauss
La méthode de Gauss exemple Trouver x en ne gardant que 3 chiffres significatifs après la virgule pivot Que se passe t’il si on prend le système à l’envers…?
La méthode de Gauss exemple pivot Trouver x en ne gardant que 3 chiffres significatifs après la virgule pivot effet de la division par un pivot trop petit
Choix du pivot si un pivot est nul, on permute deux lignes si tous les pivots restant sont nuls, la matrice est singulière (i.e. le système d’équations n’admet pas de solution unique) stratégie pour minimiser les erreurs d’arrondis. on choisi le plus grand pivot possible (en valeur absolue) et donc on permute les lignes (voir les colonnes associées) c’est la stratégie du pivot maximal (partiel (lignes) ou total) Gaussian elimination without pivoting is neither backward stable nor stable. Additionally, the triangular matrices it generates have condition numbers that may be arbitrarily greater than those of A itself, leading to additional sources of instability in the forward and back substitution phases of the solution of A x = b .
Stratégie du pivot partiel Choix du pivot k-ème étape de l’élimination (2 k n ) Stratégie du pivot partiel O( n2 ) flops
Stratégie du pivot total Choix du pivot k-ème étape de l’élimination (2 k n ) Stratégie du pivot total Il faut aussi effectuer un échange de colonnes qui equivaut a multiplier la matrice Ak à droite par une matrice de permutation. O( n3 ) flops
FLOPS
FLOPS Formules de Cramer Pour n = 10 par exemple, on obtient environ : 700 opérations pour Gauss 400 000 000 opérations pour Cramer !
Gauss-Jordan
La méthode de Gauss-Jordan est utilisée pour le calcul de l’inverse d’une matrice donnée : on résout simultanément les n systèmes linéaires : diagonale Gauss-Jordan
La factorisation LU d’une matrice
La factorisation LU d’une matrice
La factorisation LU d’une matrice
La factorisation LU d’une matrice Fonction P,L,U = décompose (A)
La factorisation LU d’une matrice
La factorisation LU d’une matrice
La factorisation LU d’une matrice
La factorisation LU d’une matrice Fonction P,L,U = décompose (A)
La factorisation LU d’une matrice U A P = P,L,U = décompose (A) y = triang (L, P*b) x = triang (U, y) Fonction x = LU(A,b)
P = 1 Soit A = ( aij ) une matrice carrée d’ordre n telle que les n sous-matrices diagonales soient inversibles. Alors il existe une matrice triangulaire inférieure L et une matrice triangulaire supérieure U telles que A = L U . De plus, une telle factorisation est unique.
P = 1 Matrices spéciales (pas de stratégie de pivoting dans la factorisation LU) A est diagonalement dominante A est une M-matrice A est une matrice symétrique définie positive
Stabilité de la factorisation LU Let the factorization P A = L U of a matrix A be computed by Gaussian elimination with partial pivoting. Then the computed matrices P, L and U satisfy : ~ For Gaussian elimination without pivoting, both L and U can be unboundedly large. Pivoting, ensures that L and U are not too large.
Stabilité de la factorisation LU For Gaussian elimination without pivoting, both L and U can be unboundedly large. Pivoting, ensures that L and U are not too large.
Stabilité de la factorisation LU
Stabilité de la factorisation LU Gauss elimination is backward stable if = O(1) uniformly for all matrices of a given dimension n
Stabilité de la factorisation LU exemple A growth factor of order 2n corresponds to a loss of the order of n bits of precision.
Stabilité de la factorisation LU Despite this example, Gaussian elimination with partial pivoting is utterly stable in practice. Large factors U never seem to appear in real applications. Random matrix : each entry is an independent sample from the real normal distribution of mean 0 and standard deviation n -1/2 . A = randn(n,n)/sqrt(n)
Stabilité de la factorisation LU Despite this example, Gaussian elimination with partial pivoting is utterly stable in practice. Large factors U never seem to appear in real applications. Random matrix : each entry is an independent sample from the real normal distribution of mean 0 and standard deviation n -1/2 . A = randn(n,n)/sqrt(n)
La factorisation LU d’une matrice tridiagonale
La factorisation LU d’une matrice tridiagonale
La factorisation LU d’une matrice-bande no pivoting pivoting
FINE