Vous êtes sur la page 1sur 8

Décomposition LU Décomposition QR Cholesky Diagonalisation SVD Bilan Décomposition LU Décomposition QR Cholesky Diagonalisation SVD Bilan

Décomposition LU

Décompositions matricielles
Qu’est-ce que c’est ?

Vincent Nozick
Décomposition de la matrice M :

M = LU

avec :
• M, L et U : 3 matrices n × n
• L : matrice unitaire triangulaire inférieure
• U : matrice triangulaire supérieure

Vincent Nozick Décompositions matricielles 1 / 30 Vincent Nozick Décompositions matricielles 2 / 30

Décomposition LU Décomposition QR Cholesky Diagonalisation SVD Bilan Décomposition LU Décomposition QR Cholesky Diagonalisation SVD Bilan

Décomposition LU Décomposition LU

Qu’est-ce que c’est ?


Méthode :
    
m11 m12 m13 m14 1 0 0 0 u11 u12 u13 u14
    
 m21 m22 m23 m24   l21 1 0 0  0 u22 u23 u24
    



=
 



 On fait comme un pivot de Gauss, mais on effectue les opérations
 m31 m32 m33 m34   l31 l32 1 0  0 0 u33 u34
   

 de pivot sous forme de produits de matrices.
m41 m42 m43 m44 l41 l42 l43 1 0 0 0 u44

Vincent Nozick Décompositions matricielles 3 / 30 Vincent Nozick Décompositions matricielles 4 / 30


Décomposition LU Décomposition QR Cholesky Diagonalisation SVD Bilan Décomposition LU Décomposition QR Cholesky Diagonalisation SVD Bilan

Décomposition LU Décomposition LU

Exemple :
Exemple : 0
 L02 = L2 –2L1 
 
2 1 −1  
 4 2 1 −1 L3 = L3 + L1 2 1 −1
6 1   4 6 1  →  0 4 3 
−2 11 8 0
−2 11 8 L2 = L2 + 2L1 0 12 7
L3 = L03 –L1
  0  
2 1 −1 L2 = L2 –2L1 2 1 −1
 4 6 1  L03 = L3 + L1  0 4 3      
−2 11 8 → 0 12 7 2 1 −1 1 0 0 2 1 −1
 4 6 1  =  2 1 0  0 4 3 
−2 11 8 −1 0 1 0 12 7

Vincent Nozick Décompositions matricielles 5 / 30 Vincent Nozick Décompositions matricielles 6 / 30

Décomposition LU Décomposition QR Cholesky Diagonalisation SVD Bilan Décomposition LU Décomposition QR Cholesky Diagonalisation SVD Bilan

Décomposition LU Décomposition LU

Exemple : Exemple :

L03 = L3 –3L2
        
2 1 −1 1 0 0 2 1 −1 2 1 −1 2 1 −1
 4 6 1  =  2 1 0  0 4 3   0 4 3  →  0 4 3 
−2 11 8 −1 0 1 0 12 7 0 12 7 0
L3 = L3 + 3L2 0 0 −2

        
2 1 −1 0 2 1 −1 2 1 −1 1 0 0 2 1 −1
L = L3 –3L2 
 0 4 3  3 0 4 3   0 4 3  =  0 1 0  0 4 3 

0 12 7 0 0 −2 0 12 7 0 3 1 0 0 −2

Vincent Nozick Décompositions matricielles 7 / 30 Vincent Nozick Décompositions matricielles 8 / 30


Décomposition LU Décomposition QR Cholesky Diagonalisation SVD Bilan Décomposition LU Décomposition QR Cholesky Diagonalisation SVD Bilan

Décomposition LU Méthode

Exemple : Algorithm 1: Décomposition LU


     input: une matrice Mn×n à décomposer
2 1 −1 1 0 0 2 1 −1
1 L = Id
M= 4 6 1  =  2 1 0  0 4 3 
2 foreach pivot i de 1 à n − 1 do
−2 11 8 −1 0 1 0 12 7
3 L = Id
b
    4 foreach ligne j de i + 1 à n do
1 0 0 1 0 0 2 1 −1 M
5 Lj,i = − Mj,i
b
=  2 1 0  0 1 0  0 4 3  i,i

−1 0 1 0 3 1 0 0 −2 6 M=b LM
7 L−1
L = Lb L−1 facile à calculer)
(b
  
1 0 0 2 1 −1 8 U=M
=  2 1 0   0 4 3  = LU 9 return L et U
−1 3 1 0 0 −2

Vincent Nozick Décompositions matricielles 9 / 30 Vincent Nozick Décompositions matricielles 10 / 30

Décomposition LU Décomposition QR Cholesky Diagonalisation SVD Bilan Décomposition LU Décomposition QR Cholesky Diagonalisation SVD Bilan

Décomposition LU Application

Résolution de système linéaire :


Propriétés :
Mx = b
• Décomposition de M existe ssi det(M) 6= 0
• det(M) = det(L) × det(U) = det(U) • LUx = b
• la décomposition M = LU est unique • on résout : Ly = b (élimination)
• on résout : Ux = y (élimination)

Vincent Nozick Décompositions matricielles 11 / 30 Vincent Nozick Décompositions matricielles 12 / 30


Décomposition LU Décomposition QR Cholesky Diagonalisation SVD Bilan Décomposition LU Décomposition QR Cholesky Diagonalisation SVD Bilan

Application Application

Réduction d’erreur :
Inverser une matrice :
Soit le système : Ax = b
MM−1 = Id pour lequel on trouve une solution x0 telle que :

Ax0 = b0 ' b (erreurs numériques)


• décomposition : M = LU
On a
• on résoud n systèmes : LUM−1
i = ei (Ai : i-ème colonne de A) A(x0 + δx) = b ⇔ Ax0 + Aδx = b
soit
Aδx = b − Ax0
→ inverse utilisée par matlab par défaut.
On résoud le système et on obtient : x = x0 + δx
La décomposition de A est utilisée pour résoudre les 2 systèmes.

Vincent Nozick Décompositions matricielles 13 / 30 Vincent Nozick Décompositions matricielles 14 / 30

Décomposition LU Décomposition QR Cholesky Diagonalisation SVD Bilan Décomposition LU Décomposition QR Cholesky Diagonalisation SVD Bilan

Application Décomposition QR

Calcul du déterminant :

Qu’est-ce que c’est ?


    

m11 m12 m13 m14
 
1 0 0 0
 
u11 u12 u13 u14
 Décomposition de la matrice M : M = QR
 m m22 m23 m24   l 1 0 0  0 u22 u23 u24 
=
 
 21   21  
     
 m m32 m33 m34   l l32 1 0  0 0 u33 u34 
31  31

avec :
    
m41 m42 m43 m44 l41 l42 l43 1 0 0 0 u44
| {z } | {z } | {z }
M L U • M, Q et R : 3 matrices n × n
Y • Q : matrice de rotation (Q> Q = Id)
det(M) = ± det(L). det(U) = ± Ui,i
• R : matrice triangulaire supérieure
i

Le signe du déterminant dépend du nombre de permutations de


lignes effectuées durant la décomposition.

Vincent Nozick Décompositions matricielles 15 / 30 Vincent Nozick Décompositions matricielles 16 / 30


Décomposition LU Décomposition QR Cholesky Diagonalisation SVD Bilan Décomposition LU Décomposition QR Cholesky Diagonalisation SVD Bilan

Décomposition QR Méthode
Algorithm 2: Décompositon QR
input: une matrice Mn×n à décomposer
1 Q = Id
2 foreach block-colonne m = Mii (n − i + 1) do
Qu’est-ce que c’est ?
3 α = kmk2

m11 m12 m13 m14

r11

r12 r13 r14

u11 u12 u13 u14

4 if m1 < 0 then α = −α
u = mi − αei
    
 m m22 m23 m24   r r22 r23 r24  0 u22 u23 u24 


21   21
=





5
 m m32 m33 m34   r r32 r33 r34  0 0 u33 u34  u
31  31 v = kuk

    6
m41 m42 m43 m44 r41 r42 r43 r44 0 0 0 u44 2
7 Q = Idn
b
8 Qii (n − 1 + i × n − i + 1)− = 2vv>
b
9 M=b QM
10 Q = Qb Q
11 R=M
12 return Q et R

Vincent Nozick Décompositions matricielles 17 / 30 Vincent Nozick Décompositions matricielles 18 / 30

Décomposition LU Décomposition QR Cholesky Diagonalisation SVD Bilan Décomposition LU Décomposition QR Cholesky Diagonalisation SVD Bilan

Décomposition QR Cholesky

M = QR
Introduction :
Permet de décomposer une matrice symétrique définie positive A en
Applications :
A = LL> où L est une matrice triangulaire inférieure.

• résoudre un système linéaire : Rx = Q> b Définie positive :


• inverse de matrice : comme pour la décomposition LU. A est définie positive si : ∀x 6= 0 x> Ax > 0
Q
• calcul du déterminant : det(M) = ± det(R) = ± i Ri,i
• trouver les racines d’un polynôme.

Vincent Nozick Décompositions matricielles 19 / 30 Vincent Nozick Décompositions matricielles 20 / 30


Décomposition LU Décomposition QR Cholesky Diagonalisation SVD Bilan Décomposition LU Décomposition QR Cholesky Diagonalisation SVD Bilan

Calcul Diagonalisation

Colonne par colonne :


Introduction :
v A = PMP−1
u k<i
u X avec :
Lii = t(Aii − L2ik ) pour i = j
k=0
• A : matrice n × n.

k<j
! • P : matrice n × n.
1 X
• M : matrice n × n diagonale.
Lij = Aij − Lik Ljk pour i > j
Ljj
k=0

Vincent Nozick Décompositions matricielles 21 / 30 Vincent Nozick Décompositions matricielles 22 / 30

Décomposition LU Décomposition QR Cholesky Diagonalisation SVD Bilan Décomposition LU Décomposition QR Cholesky Diagonalisation SVD Bilan

Diagonalisation Diagonalisation

A = PMP−1
Application :
Propriétés :
• inverse (peu utilisée)
• les éléments de M sont les valeurs propres de A.
• Analyse en Composantes Principales (PCA en anglais)
• rang de A : nombre de valeurs propres 6= 0.
• les colonnes de P sont les vecteurs propres de A associés aux
valeur propres correspondance de M.

Vincent Nozick Décompositions matricielles 23 / 30 Vincent Nozick Décompositions matricielles 24 / 30


Décomposition LU Décomposition QR Cholesky Diagonalisation SVD Bilan Décomposition LU Décomposition QR Cholesky Diagonalisation SVD Bilan

Décomposition en Valeurs Singulières SVD

Introduction : (SVD = Singular Value Decomposition)


Propriétés :
A = UDV>
• les éléments de D sont les valeurs singulières de A.
avec : • rang de A : nombre de valeurs singulières 6= 0.
• A : matrice m × n, m ≥ n.
• en annulant les plus petites valeurs singulières, on obtient des
• U : matrice m × n, orthogonale si m = n. matrices de rang inférieur à A les plus proches de A.
• D : matrice n × n diagonale.
• V> : matrice n × n orthogonale.

Vincent Nozick Décompositions matricielles 25 / 30 Vincent Nozick Décompositions matricielles 26 / 30

Décomposition LU Décomposition QR Cholesky Diagonalisation SVD Bilan Décomposition LU Décomposition QR Cholesky Diagonalisation SVD Bilan

SVD Moindres carrés

Calcul de A−1 :
Propriété :
A = UDV>
Si A n’est pas carrée (lignes > colonnes), l’inverse calculé à partir
A−1 = (UDV> )−1 de la SVD génère la pseudo inverse A+ de A :
= V−> D−1 U−1
= VD−1 U> A+ = VD−1 U>

• V−> = V car V est orthogonale.


,→ permet de résoudre des systèmes surdéterminés au sens des
• U−1 = U> car U est orthogonale.
moindres carrés.
• D est diagonale donc facile à inverser.

Vincent Nozick Décompositions matricielles 27 / 30 Vincent Nozick Décompositions matricielles 28 / 30


Décomposition LU Décomposition QR Cholesky Diagonalisation SVD Bilan Décomposition LU Décomposition QR Cholesky Diagonalisation SVD Bilan

Null space Décompositions

Propriété :
Bilan :
La SVD permet aussi de résoudre des systèmes d’équations du genre : décomposition conditions rapidité fiabilité rang
matrice précision
Ax = 0
LU pivot partiel matrice régulière ++ + •
LU pivot total • − +++ oui
• Pivot de Gauss → solution triviale x = 0 QR Householder • ++ + •
• SVD → vecteur x 6= 0 tel que : QR pivot partiel • + ++ oui
• kxk2 = 1. QR pivot total • − +++ oui
• kAxk2 soit minimal.
Cholesky symétrique déf. > 0 ++++ + •
• solution : il s’agit du vecteur propore (colonne de V) associé à
la plus petite valeur singulière de D.
SVD • − ++++ oui

Vincent Nozick Décompositions matricielles 29 / 30 Vincent Nozick Décompositions matricielles 30 / 30

Vous aimerez peut-être aussi