15.4 Rang et représentation

Soit \(A\) une matrice \(m\times n\) dont une décomposition en valeurs singulières est donnée: \[ A=U\Sigma V^T\,. \] Comme nous avons fait avec la décomposition spectrale, nous allons profiter de la SVD pour écrire \(A\) comme une combinaison linéaire de matrices plus simples.

Pour commencer, remarquons que l'on peut toujours imposer, dans une SVD, que les valeurs singulières apparaissent sur la diagonale de \(\Sigma\) en ordre décroissant: \[ \sigma_1\geqslant \sigma_1\geqslant \dots \] En nommant les colonnes de \(U\) et de \(V\): \[ U=\bigl[\boldsymbol{u}_1\cdots \boldsymbol{u}_m\bigr]\,,\qquad V=\bigl[\boldsymbol{v}_1\cdots \boldsymbol{v}_n\bigr]\,. \] Définissons alors l'indice de la plus petite valeur singulière strictement positive, \[ r:= \max\{1\leqslant k\leqslant l\colon \sigma_k\gt 0\}\,. \] et procédons comme on l'a fait pour la décomposition spectrale en écrivant, pour tout \(\boldsymbol{x}\in\mathbb{R}^n\), \[\begin{aligned} A\boldsymbol{x}=U\Sigma V^T\boldsymbol{x}&= \bigl[\boldsymbol{u}_1\cdots \,\boldsymbol{u}_m\bigr]\Sigma \begin{pmatrix} \boldsymbol{v}_1^T\boldsymbol{x}\\ \vdots\\ \boldsymbol{v}_n^T\boldsymbol{x} \end{pmatrix}\\ &= \bigl[\sigma_1\boldsymbol{u}_1\cdots \,\sigma_r\boldsymbol{u}_r\,\boldsymbol{0}\cdots\boldsymbol{0}\bigr] \begin{pmatrix} \boldsymbol{v}_1^T\boldsymbol{x}\\ \vdots\\ \boldsymbol{v}_n^T\boldsymbol{x} \end{pmatrix}\\ &=\sum_{k=1}^r \sigma_k\boldsymbol{u}_k\boldsymbol{v}_k^T\boldsymbol{x}\\ &=\left(\sum_{k=1}^r \sigma_k\boldsymbol{u}_k\boldsymbol{v}_k^T\right)\boldsymbol{x}\,. \end{aligned}\] On a donc pu écrire \(A\) comme une somme: \[ \boxed{ A= \sum_{k=1}^r \sigma_k\boldsymbol{u}_k\boldsymbol{v}_k^T\,, } \] On retrouve bien, pour tout \(j\), \[\begin{aligned} A\boldsymbol{v}_j &=\sum_{k=1}^r \sigma_k\boldsymbol{u}_k\underbrace{\boldsymbol{v}_k^T\boldsymbol{v}_j}_{=\delta_{kj}}\\ &=\sigma_j\boldsymbol{u}_j\,. \end{aligned}\] Remarquons qu'à l'inverse de la décomposition spectrale, une matrice \(\boldsymbol{u}_k\boldsymbol{v}_k^T\) ne représente pas une projection puisqu'elle transforme un vecteur de \(\mathbb{R}^n\) en un vecteur de \(\mathbb{R}^m\). Son seul point commun avec une projection est que \[ \mathrm{rang}(\boldsymbol{u}_k\boldsymbol{v}_k^T)=1\,. \] SVD fournit donc une représentation d'une matrice comme une somme de matrices de rang égal à \(1\). Aussi, comme on n'a gardé que les valeurs singulières \(\sigma_k\gt 0\), et comme les \(\boldsymbol{u}_k\) sont indépendants, on a montré:

Théorème: Le rang de \(A\) est égal au nombre de valeurs singulières non-nulles.

Approximation optimale par une matrice de rang fixé

Définissons, pour tout \(k\leqslant r\), \[ A(k):=\sum_{j=1}^k \sigma_j\boldsymbol{u}_j\boldsymbol{v}_j^T\,. \] Alors \(A(k)\) est la matrice de rang \(k\) qui approxime le mieux \(A\), dans le sens suivant (c'est le Théorème d'Eckart-Young):

Théorème: Soit \(A\) (\(m\times n\)) de rang \(l\leqslant n\). Pour tout \(1\leqslant k\leqslant l\), \(A(k)\) est la matrice de rang \(k\) qui approxime le mieux \(A\): \[ \min_B\|A-B\|=\|A-A(k)\|\,, \] où le minimum est pris sur toutes les matrices \(m\times n\) de rang au plus égal à \(k\).