Décomposition en valeurs singulières (Singular Value Decomposition - SVD)#
La décomposition en valeurs singulières permet de décomposer une matrice \(\mathbf{A}\) de dimensions \(m\times n\), de rang \(r\) en un produit de trois matrices faisant intervenir les valeurs singulières. Cette décomposition est définie pour des matrices à nombres réels ou complexes. Nous n’en donnerons ici qu’une application aux nombres réels.
où
\(\mathbf{U}\), de dimensions \(m\times m\), est une matrice orthogonale ;
\(\mathbf{\Sigma}\), de dimensions \(m\times n\), est une matrice diagonale de rang r composée de réels positifs.
\(\mathbf{V}^t\), de dimensions \(n\times n\), est une matrice orthogonale.
Les \(r\) réels non nuls composant la diagonale de \(\mathbf{\Sigma}\), notés \(\sigma_i\), sont les valeurs singulières de \(\mathbf{A}\), classées par ordre décroissant. Elles représentent les racines carrées des valeurs propres du produit \(\mathbf{A}^t \mathbf{A}\) ou \(\mathbf{A} \mathbf{A}^t\) selon que \(n < m\) ou \(n > m\) respectivement. La matrice \(\mathbf{\Sigma}\), associée à une matrice \(\mathbf{A}\) est unique. Les \(m\) colonnes de \(\mathbf{U}\) sont les vecteurs propres de \(\mathbf{A} \mathbf{A}^t\). Ils sont nommés « vecteurs singuliers à gauche » ou « vecteurs singuliers de sortie ». Les \(n\) colonnes de \(\mathbf{V}\) sont les vecteurs propres de \(\mathbf{A}^t \mathbf{A}\). Ils sont nommés « vecteurs singuliers à droite » ou « vecteurs singuliers d’entrée ».
La décomposition de la matrice pseudo inverse est donnée par la relation :
Lien au conditionnement#
Cette décomposition SVD permet de déterminer directement le conditionnement en norme 2 de la matrice \(\mathbf{A}\) :
Interprétation géométrique#
Étant donné que \(\mathbf{U}\) est une matrice orthogonale, les vecteurs colonnes qui la composent \((\mathbf{U}_i, \cdots, \mathbf{U}_m)\) constituent une base orthonormée de \(\mathbb{R}^m\). De même, les vecteurs, \((\mathbf{V}_i, \cdots, \mathbf{V}_n)\) constituent une base orthonormée de \(\mathbb{R}^n\).
Soit l’application linéaire \(T\) telle que :
Au sein des deux bases orthonormées, l’application \(T\) vérifie :
Il est donc possible de trouver deux bases orthonormées de \(\mathbb{R}^n\) et \(\mathbb{R}^m\) telle que l’application linéaire \(T\) transforme le ième vecteur de \(\mathbb{R}^n\) en un multiple non nul du ième vecteur de la base de \(\mathbb{R}^m\).
Pour visualiser simplement cette transformation, considérons la sphère unité de \(\mathbb{R}^n\). L’application linéaire \(T\) transforme la sphère en un ellipsoïde de \(\mathbb{R}^m\). Les valeurs singulières représentent les longueurs des demi-axes de cette ellipsoïde. Dans le cas particulier ou \(n = m\) et que toutes les valeurs singulières sont distinctes et non nulles la SVD peut être interprétée comme une succession de trois transformations (Fig. 21) :

Fig. 21 Interprétation géométrique de la décomposition SVD#
La première transformation \(\mathbf{V}^t\) effectue une rotation de la sphère unité ;
Ensuite, \(\mathbf{\Sigma}\) déforme la sphère unité sur chaque direction principale par la valeur singulière non nulle \(\sigma_i\). L’ellipsoïde est formé et orienté dans la base des vecteurs propres de \(\mathbf{\Sigma}\);
Enfin, \(\mathbf{U}\) réoriente à son tour l’ellipsoïde.