14.2 Existence

Dans cette section, on montre que toute matrice possède une décomposition en valeurs singulières:

Théorème: [Existence d'une décomposition en valeurs singulières] Toute matrice \(A\) de taille \(m\times n\) peut s'écrire comme un produit, \[ A=U\Sigma V^T\,, \] où

  1. \(U\) est une matrice orthogonale de taille \(m\times m\), i.e. \(U^TU=UU^T=I_m\); ses colonnes sont appelées vecteurs singuliers à gauche de \(A\);
  2. \(\Sigma\) est une matrice non négative diagonale de taille \(m\times n\), i.e. \(\Sigma_{i,j} \geqslant 0\) pour tous \(i,j\) et \(\Sigma_{i,j} = 0\) si \(i \neq j\), les coefficients situés sur sa diagonale sont non négatifs, et sont appelés les valeurs singulières de \(A\);
  3. \(V\) est une matrice orthogonale de taille \(n\times n\), i.e. \(V^TV=VV^T=I_n\), ses colonnes sont appelées vecteurs singuliers à droite de \(A\).

Les matrices \(A^TA\) et \(AA^T\)

Notre point de départ:

Lemme: Pour une matrice \(A\) de taille \(m\times n\) quelconque,

  • (i) Par les propriétés de la transposée, \[\begin{aligned} (A^TA)^T&=A^T(A^T)^T=A^TA\,,\\ (AA^T)^T&=(A^T)^TA^T=AA^T\,. \end{aligned}\]
  • (ii) En remplaçant \(A\) par \(A^T\) et en utilisant l'identité \((A^T)^T = A\), on note qu'il suffit de démontrer la première identité \(\mathrm{Ker}(A^TA) = \mathrm{Ker}(A)\). Or, on voit bien aussi que \(\mathrm{Ker}(A^TA) \supseteq \mathrm{Ker}(A)\), vu que \(A\boldsymbol{v} = \boldsymbol{0}\), i.e. \(\boldsymbol{v} \in \mathrm{Ker}(A)\), implique \(A^TA\boldsymbol{v} = A^T\boldsymbol{0} = \boldsymbol{0}\), i.e. \(\boldsymbol{v} \in \mathrm{Ker}(A^TA)\). Pour montrer l'inclusion \(\mathrm{Ker}(A^TA) \subseteq \mathrm{Ker}(A)\), on note que, si \(\boldsymbol{v} \in \mathrm{Ker}(A^TA)\), i.e. \(A^TA\boldsymbol{v} = \boldsymbol{0}\), alors \[\begin{aligned} \|A\boldsymbol{v}\|^2 &= \boldsymbol{v}^TA^TA\boldsymbol{v} \\ &= \boldsymbol{v}^T\boldsymbol{0} \\ &= 0, \end{aligned}\] ce qui implique que \(A\boldsymbol{v} = \boldsymbol{0}\), i.e. \(\boldsymbol{v} \in \mathrm{Ker}(A)\).
  • (iii) L'item précédent et le Théorème du Rang nous disent que \[\begin{aligned} \mathrm{rang}(A^TA) &= n - \dim\big(\mathrm{Ker}(A^TA)\big) = n - \dim\big(\mathrm{Ker}(A)\big) = \mathrm{rang}(A)\,, \\ \mathrm{rang}(AA^T) &= m - \dim\big(\mathrm{Ker}(AA^T)\big) = n - \dim\big(\mathrm{Ker}(A^T)\big) = \mathrm{rang}(A^T)\,, \end{aligned}\] tandis que l'égalité \(\mathrm{rang}(A) = \mathrm{rang}(A^T)\) a été démontrée dans le dernier Théorème de la Section (cliquer).

Exemple: Si \(A= \begin{pmatrix} -1&2\\ 2&0\\ 3&5 \end{pmatrix} \), alors \[ A^TA= \begin{pmatrix} -1&2&3\\ 2&0&5 \end{pmatrix} \begin{pmatrix} -1&2\\ 2&0\\ 3&5 \end{pmatrix} = \begin{pmatrix} 14&13\\ 13&29 \end{pmatrix}\,, \] et \[ AA^T= \begin{pmatrix} -1&2\\ 2&0\\ 3&5 \end{pmatrix} \begin{pmatrix} -1&2&3\\ 2&0&5 \end{pmatrix} = \begin{pmatrix} 5&-2&7\\ -2&4&6\\ 7&6&34 \end{pmatrix}\,. \]

Étant symétriques, le Théorème Spectral dans la Section (cliquer) garantit que \(A^TA\) et \(AA^T\) sont diagonalisables:

On sait que les éléments diagonaux de \(D\) (resp., \(D'\)) sont les valeurs propres de \(A^TA\) (resp., \(AA^T\)), avec éventuellement des répétitions selon les dimensions des espaces propres associés. Or ces valeurs propres ont des propriétés particulières:

Pour toute matrice \(A\),
  1. (i) un scalaire \(\lambda\neq 0\) est valeur propre de \(A^TA\) si et seulement s'il est également valeur propre de \(AA^T\), et, de façon plus générale, la multiplicité algébrique de la valeur propre \(\lambda \neq 0\) de \(A^TA\) est égale à la multiplicité algébrique de la valeur propre \(\lambda \neq 0\) de \(AA^T\);
  2. (ii) si \(\lambda\) est valeur propre de \(A^TA\) ou de \(AA^T\), alors \(\lambda \geqslant 0\).

  1. (i) Il s'agit d'une conséquence directe du Théorème de la Section (cliquer).
  2. (ii) Maintenant avec une valeur propre \(\lambda\) de \(A^TA\), et un vecteur propre \(\boldsymbol{v}\neq \boldsymbol{0}\), \(A^TA\boldsymbol{v}=\lambda\boldsymbol{v}\), on peut écrire \[\begin{aligned} \lambda\|\boldsymbol{v}\|^2 &=\lambda(\boldsymbol{v}\cdotp\boldsymbol{v}) \\ &=\boldsymbol{v}\cdotp(\lambda\boldsymbol{v}) \\ &=\boldsymbol{v}\cdotp(A^TA\boldsymbol{v}) \\ &=(A\boldsymbol{v})\cdotp(A\boldsymbol{v}) \\ &=\|A\boldsymbol{v}\|^2\geqslant 0\,. \end{aligned}\] Comme \(\|\boldsymbol{v}\|\gt 0\), on en déduit que \(\lambda\geqslant 0\).

Remarque: On peut donner une preuve directe de la première partie du premier item du lemme précédent. Pour le faire, supposons que \(\lambda\neq 0\) est valeur propre de \(A^TA\). Alors il existe \(\boldsymbol{v}\in \mathbb{R}^n\), non-nul, tel que \[ (A^TA)\boldsymbol{v}=\lambda\boldsymbol{v}\,. \] Remarquons que \(A\boldsymbol{v}\neq \boldsymbol{0}\) puisque \(A^TA\boldsymbol{v}\neq \boldsymbol{0}\).

Ensuite, en multipliant les deux côtés de l'identité de dessus par \(A\), on obtient \[ AA^T(A\boldsymbol{v})=\lambda(A\boldsymbol{v})\,, \] qui signifie que \(\lambda\) est aussi valeur propre de \(AA^T\), associée au vecteur propre \(A\boldsymbol{v}\in\mathbb{R}^m\) (qui est non-nul comme on a dit). Le même argument montre que toute valeur propre non-nulle de \(AA^T\) est également valeur propre de \(A^TA\).

Les résultats ci-dessus impliquent:

Pour toute matrice \(A\) de taille \(m\times n\), il existe au plus \(\min\{m,n\}\) valeurs propres non-nulles communes de \(A^TA\) et \(AA^T\).

On sait que \(A^TA\) est une matrice de taille \(n\times n\) et possède donc au maximum \(n\) valeurs propres non-nulles, et \(AA^T\) est une matrice de taille \(m\times m\) et possède donc au maximum \(m\) valeurs propres non-nulles. Comme ces matrices ont les mêmes valeurs propres non-nulles, le nombre de ces valeurs propres non-nulles est plus petit que \(n\) et que \(m\).

Preuve du théorème:

Considérons la diagonalisation de \(A^TA\): \[ A^TA=VDV^T \,. \] En multipliant à gauche par \(V^T\) puis à droite par \(V\), \[ V^T(A^TA)V=D\,. \] L'identité précédente nous dit que \(\mathrm{rang}(A^TA) = \mathrm{rang}(D)\). En plus, par le lemme ci-dessus, toutes les valeurs propres de \(A^TA\), sur la diagonale de \(D\), sont non négatives.

Sans perte de généralité, on peut supposer que la valeur propre nulle (éventuellement répétée) apparaît en bas de la diagonale: \[ D=\mathrm{diag}(\lambda_1,\lambda_2,\dots,\lambda_\ell,0,\dots,0)\,, \] avec \(\lambda_1\geqslant \dots \geqslant \lambda_\ell \gt 0\). Comme \(\mathrm{rang}(D) = \ell\), on conclut que \(\ell = \mathrm{rang}(A^TA) = \mathrm{rang}(A)\). Distinguons ensuite la sous-matrice diagonale de \(D\) qui contient les valeurs propres strictement positives, en écrivant: \[ D= \left[ \begin{array}{cc} D_*&\mathbf{0}\\ \mathbf{0}&\mathbf{0} \end{array} \right]_{\square}\,, \] où \(D_*=\mathrm{diag}(\lambda_1,\dots,\lambda_\ell)\) est une matrice de taille \(\ell\times \ell\), et les ''\(\mathbf{0}\)'' sont des matrices nulles.

À l'ordre fixé par les valeurs propres dans \(D\) correspond un ordre des colonnes dans la matrice de changement de base \(V\): \[ V= \left[ \begin{array}{cc} V_1& V_2 \end{array} \right]_{\square}\,, \] où

L'orthonormalité des colonnes de \(V\) implique que \[ V_1^TV_1=I_\ell\,,\qquad V_2^TV_2=I_{n-\ell}\,, \] mais la relation \(VV^T=I_n\) implique aussi que \[ I_n= VV^T= \left[ \begin{array}{cc} V_1& V_2 \end{array} \right]_{\square} \left[ \begin{array}{c} V_1^T\\ V_2^T \end{array} \right]_{\square} =V_1V_1^T+V_2V_2^T\,. \] Utilisons ces matrices \(V_1\) et \(V_2\) pour récrire la diagonalisation \(A^TA=VDV^T\), qui est équivalente à \(V^T(A^TA)V=D\). Comme \[\begin{aligned} V^T(A^TA)V &= \left[ \begin{array}{c} V_1^T\\ V_2^T \end{array} \right]_{\square} A^TA \left[ \begin{array}{cc} V_1& V_2 \end{array} \right]_{\square}\\ &= \left[ \begin{array}{c} V_1^T\\ V_2^T \end{array} \right]_{\square} \left[ \begin{array}{cc} A^TAV_1& A^TAV_2 \end{array} \right]_{\square}\\ &= \left[ \begin{array}{cc} V_1^TA^TAV_1& V_1^TA^TAV_2 \\ V_2^TA^TAV_1& V_2^TA^TAV_2 \end{array} \right]_{\square}\,, \end{aligned}\] et comme cette matrice est égale à \[D= \left[ \begin{array}{cc} D_*&\mathbf{0}\\ \mathbf{0}&\mathbf{0} \end{array} \right]_{\square}\,, \] ceci implique que l'identité \[ V_1^TA^TAV_1=D_* \] de matrices de taille \(\ell\times \ell\) et l'identité \[ V_2^TA^TAV_2 = \mathbf{0} \] de matrices de taille \((n-\ell)\times (n-\ell)\). De cette dernière, on tire que \((AV_2)^T(AV_2)=\mathbf{0}\), qui implique que \[ AV_2=\mathbf{0}\,. \] (En effet, on sait que pour toute matrice \(M\), \(M^TM\) contient tous les produits scalaires possibles entre les colonnes de \(M\), en particulier, sur sa diagonale, les carrés des normes des colonnes. Si \(M^TM=\mathbf{0}\), cela implique que la norme de chaque colonne de \(M\) est nulle, et donc que \(M\) est la matrice nulle. )

Définissons maintenant la matrice de taille \(m\times \ell\): \[ U_1:= AV_1D_*^{-1/2}\,, \] où \[ D_*^{-1/2}:= \mathrm{diag}(1/\sqrt{\lambda_1},\dots,1/\sqrt{\lambda_\ell}) \] est bien définie puisque \(\lambda_k\gt 0\) pour tout \(k=1,\dots,\ell\), et n'est rien d'autre que l'inverse de \[ D_*^{1/2}:= \mathrm{diag}(\sqrt{\lambda_1},\dots,\sqrt{\lambda_\ell}). \] On remarque maintenant que les colonnes de \(U_1\) forment une famille orthonormale, puisque \[\begin{aligned} U_1^TU_1 &=(AV_1D_*^{-1/2})^TAV_1D_*^{-1/2}\\ &=D_*^{-1/2}(V_1^TA^TAV_1)D_*^{-1/2}\\ &=D_*^{-1/2}D_*D_*^{-1/2}\\ &=I_\ell\,. \end{aligned}\] Montrons que \(U_1\), \(D_*\) et \(V_1\) fournissent déjà une première factorisation de \(A\):

En effet, \[\begin{aligned} U_1D_*^{1/2}V_1^T &=AV_1\underbrace{D_*^{-1/2}D_*^{1/2}}_{=I_\ell}V_1^T \\ &=AV_1V_1^T \\ &=A(I_n-V_2V_2^T) \\ &=A-(\underbrace{AV_2}_{=\mathbf{0}})V_2^T \\ &=A\,. \end{aligned}\] Cette première factorisation constitue la base de l'argument; il reste maintenant à modifier le produit matriciel \(U_1D_*^{1/2}V_1^T\), en augmentant les tailles des matrices, de façon à ce qu'il devienne \(U\Sigma V^T\).

On rajoute d'abord à \(V_1^T\) le bloc \(V_2^T\), ce qui donne \[ V^T= \left[ \begin{array}{c} V_1^T\\ V_2^T \end{array} \right]_{\square}\,. \] Passons à \(U\). Si \(\ell=m\), alors on peut prendre \(U=U_1\). Mais, si \(\ell \lt m\), \(U_1\) n'est pas carrées: ses colonnes forment une base orthonormée de \(\mathrm{Col}(U_1)\subseteq \mathbb{R}^m\), mais pas de \(\mathbb{R}^m\), on peut donc compléter cette base en une base de \(\mathbb{R}^m\), et même, via un procédé de Gram-Schmidt si nécessaire, la compléter en une base orthonormée de \(\mathbb{R}^n\). Les \(m-\ell\) vecteurs rajoutés peuvent être rangés dans une matrice \(U_2\) de taille \(m\times(m-\ell)\) qui permet de définir la matrice de taille \(m\times m\) orthogonale \[ U:= \left[ \begin{array}{cc} U_1& U_2 \end{array} \right]_{\square}\,. \] Finalement, la matrice \(\Sigma\) de taille \(m\times n\) est construite à partir de la matrice \(D_*^{1/2}\) de taille \(\ell\times \ell\)) en rajoutant des blocs nuls, si nécessaire (rappelons que \(\ell\leqslant \min\{m,n\}\)): \[ \Sigma:= \left[ \begin{array}{cc} D_*^{1/2}&{\color{orange}\mathbf{0}}\\ {\color{purple}\mathbf{0}}&{\color{teal}\mathbf{0}} \end{array} \right]_{\square}\,. \] où

Remarquons que ceci peut a priori faire apparaître des valeurs singulières nulles sur la diagonale de \(\Sigma\).

Montrons que l'on a ce qu'on voulait:

En effet, \[\begin{aligned} U\Sigma V^T &= \left[ \begin{array}{cc} U_1& U_2 \end{array} \right]_{\square} \left[ \begin{array}{cc} D_*^{1/2}&{\color{orange}\mathbf{0}}\\ {\color{purple}\mathbf{0}}&{\color{teal}\mathbf{0}} \end{array} \right]_{\square} \left[ \begin{array}{c} V_1^T\\ V_2^T \end{array} \right]_{\square}\\ &= \left[ \begin{array}{cc} U_1& U_2 \end{array} \right]_{\square} \left[ \begin{array}{cc} D_*^{1/2}V_1^T\\ \mathbf{0} \end{array} \right]_{\square}\\ &=U_1D_*^{1/2}V_1^T\\ &=A\,. \end{aligned}\] Ceci termine la preuve de l'existence d'une décomposition en valeurs singulières.

Quelques remarques au vu de la preuve que l'on vient de donner:

Une conséquence de la preuve précédente est le résultat suivant:

Le rang de la matrice \(A\) est égal au nombre \(\ell\) de valeurs singulières non-nulles (chacune comptée autant de fois que sa multiplicité).