Une matrice rectangulaire n'a ni valeurs propres ni déterminant : on ne peut pas la diagonaliser au sens habituel. Mais si l'on s'autorise deux bases orthonormées, une au départ et une à l'arrivée, toute matrice devient diagonale. C'est la décomposition en valeurs singulières, A = UΣVᵀ. Cinq planches pour la voir dans le plan, dans l'espace, la calculer sans piège, s'en servir pour débruiter, puis l'appliquer à trois problèmes concrets.
Soit A une matrice réelle à m lignes et n colonnes : elle envoie ℝⁿ dans ℝᵐ. Le théorème dit qu'il existe une base orthonormée (v₁, …, vₙ) de l'espace de départ, une base orthonormée (u₁, …, uₘ) de l'espace d'arrivée et des nombres σ₁ ≥ σ₂ ≥ … ≥ 0 tels que
A vᵢ = σᵢ uᵢ, c'est-à-dire A = U Σ Vᵀ = σ₁ u₁v₁ᵀ + σ₂ u₂v₂ᵀ + …
Les σᵢ sont les valeurs singulières. Ce sont les racines carrées des valeurs propres de AᵀA (ou de AAᵀ), qui sont symétriques et positives. Le nombre de σᵢ non nulles est le rang de A.
| Diagonalisation B = PDP⁻¹ | SVD A = UΣVᵀ | |
|---|---|---|
| Matrices concernées | carrées, et pas toutes | toutes, même rectangulaires |
| Bases | une seule, souvent non orthogonale | deux, toujours orthonormées |
| Nombres diagonaux | valeurs propres, parfois complexes | valeurs singulières, réelles et ≥ 0 |
| Calcul numérique | parfois instable | toujours stable |
Toute matrice 2 × 2 transforme le cercle unité en ellipse. Les axes de cette ellipse sont les valeurs singulières.
Écrire A = UΣVᵀ, c'est décomposer A en trois gestes simples : Vᵀ tourne le plan (ou le retourne) pour amener v₁ et v₂ sur les axes, Σ étire selon les axes d'un facteur σ₁ et σ₂, puis U tourne le résultat pour placer les axes sur u₁ et u₂. Contrairement aux valeurs propres, qui disparaissent pour une rotation, les valeurs singulières existent toujours.
Que fait une matrice 2 × 3, qui envoie l'espace sur le plan ?
La SVD découpe proprement chacun des deux espaces. Au départ, ℝ³ = (plan des lignes, engendré par v₁, v₂) ⊕ (noyau, engendré par v₃). À l'arrivée, ℝ² = image, engendrée par u₁, u₂ (si le rang vaut 2). Un vecteur x se décompose sur v₁, v₂, v₃. Sa composante sur v₃ est perdue, et les deux autres sont multipliées par σ₁ et σ₂ puis portées par u₁ et u₂. Ce sont les quatre sous-espaces fondamentaux de Gilbert Strang : image et noyau de A, image et noyau de Aᵀ.
Les σᵢ sont les racines des valeurs propres de AᵀA. Faut-il donc calculer AᵀA ? Surtout pas.
La méthode de Jacobi à un côté (Hestenes, 1958) travaille directement sur A. On prend deux colonnes, et on les fait tourner ensemble d'un angle choisi pour qu'elles deviennent orthogonales. On recommence avec toutes les paires, plusieurs « balayages » de suite. À la fin, les colonnes sont orthogonales : leurs normes sont les σᵢ, leurs directions les uᵢ, et le produit des rotations donne V. La convergence est d'abord lente, puis quadratique : le nombre de chiffres exacts double à chaque balayage.
Prenons A = [[1, 1], [ε, 0], [0, ε]]. Ses valeurs singulières sont √(2 + ε²) et ε exactement. Mais AᵀA = [[1 + ε², 1], [1, 1 + ε²]], et dès que ε² est plus petit que la précision de la machine (environ 10⁻¹⁶), l'ordinateur arrondit 1 + ε² à 1. Il ne voit plus qu'une matrice singulière, et la petite valeur singulière est perdue. Former AᵀA élève le conditionnement au carré.
La meilleure approximation de rang k s'obtient en ne gardant que les k premiers termes σ₁u₁v₁ᵀ + … + σₖuₖvₖᵀ (théorème d'Eckart-Young, 1936). Combien de termes faut-il garder quand les données sont bruitées ?
Une « image » 60 × 60 de rang 3 (trois motifs superposés, de valeurs singulières 60, 35 et 20) est noyée dans un bruit gaussien. Les valeurs singulières du bruit forment un nuage compact (loi de Marchenko-Pastur, dont le bord vaut environ 2√60 · σbruit), d'où émergent les trois valeurs du signal. Garder trop peu de termes efface du signal ; en garder trop réintroduit du bruit. Gavish et Donoho (2014) ont montré que le seuil optimal, pour une matrice carrée n × n de bruit connu, est (4/√3)·√n·σbruit.
Trois problèmes d'apparence très différente, résolus par la même décomposition.
On dispose de deux relevés d'une même forme : le second a été tourné, déplacé et bruité. Quelle rotation R aligne au mieux le premier sur le second ? On centre les deux nuages, on forme la matrice H = Σ pᵢqᵢᵀ et l'on calcule sa SVD H = UΣVᵀ. La réponse est R = VUᵀ (avec une correction de signe pour exclure les symétries). C'est l'algorithme de Kabsch (1976), utilisé pour superposer des molécules ou recaler des images médicales.
La régression ordinaire minimise les écarts verticaux : elle suppose x exact et y seul bruité. Quand les deux coordonnées sont mesurées avec erreur, on minimise plutôt les distances perpendiculaires à la droite. C'est le problème des moindres carrés totaux. Sa solution : la droite passe par le centre de gravité, et sa normale est le dernier vecteur singulier v₂ de la matrice des points centrés. La somme des carrés des distances vaut exactement σ₂².
En mécanique, une petite pièce déformée par A subit à la fois un étirement et une rotation. La SVD les sépare : A = UΣVᵀ = (UVᵀ)(VΣVᵀ) = Q S, où Q est une rotation et S une matrice symétrique positive, l'étirement pur. Q est aussi la rotation la plus proche de A. C'est la décomposition polaire, l'analogue matriciel de z = eiθ·|z|.
Toute matrice, même rectangulaire, devient diagonale si l'on choisit une base orthonormée au départ et une autre à l'arrivée. Les σᵢ sont les demi-axes de l'image de la sphère.
Les σᵢ sont les racines des valeurs propres de AᵀA, mais former AᵀA détruit les petites. On travaille directement sur A, par rotations de Jacobi ou par bidiagonalisation.
Rang, noyau, image, conditionnement, approximation de rang faible, débruitage, alignement de formes, moindres carrés totaux, décomposition polaire : tout se lit sur UΣVᵀ.
Pseudo-inverse. A⁺ = VΣ⁺Uᵀ, où Σ⁺ inverse les σᵢ non nulles. A⁺b est la solution des moindres carrés de norme minimale (voir la version 1 de cette page).
Analyse en composantes principales. L'ACP d'un tableau centré n'est rien d'autre que sa SVD : les vᵢ sont les axes principaux, les σᵢ²/n les variances expliquées.
Liens. Matrices et valeurs singulières, ACP par la transposée et l'inverse, décompositions LU et QR, espaces euclidiens, réduction des endomorphismes.