Retour au blog

Maîtrise la SVD : Quiz Interactif pour Experts

Quatorze questions de difficulté croissante sur la décomposition en valeurs singulières : calcul, rang, normes, pseudo-inverse et troncature.

Cet article a été rédigé à des fins pédagogiques. Les informations présentées peuvent évoluer. Nous t’invitons à vérifier auprès de sources officielles.

L'essentiel à connaître

Toute matrice réelle $A$ de taille $m \times n$ s'écrit $A = U\Sigma V^T$, et ses valeurs singulières sont les racines carrées des valeurs propres de $A^TA$ (cours 18.06SC du MIT). Exemple : pour $A = \begin{pmatrix} 3 & 0 \\ 4 & 5 \end{pmatrix}$, la matrice $A^TA = \begin{pmatrix} 25 & 20 \\ 20 & 25 \end{pmatrix}$ a pour valeurs propres $45$ et $5$, donc $\sigma_1 = 3\sqrt{5}$ et $\sigma_2 = \sqrt{5}$. La transposée $A^T$ se note aussi ${}^tA$ dans beaucoup de cours.

Définition : Dans une décomposition en valeurs singulières (SVD, sigle anglais) $A = U\Sigma V^T$, les matrices $U$ ($m \times m$) et $V$ ($n \times n$) sont orthogonales ($U^TU = I_m$ et $V^TV = I_n$), et $\Sigma$ ($m \times n$) porte $\sigma_1 \geq \sigma_2 \geq \dots \geq \sigma_p \geq 0$ sur sa diagonale, avec $p = \min(m,n)$, et des zéros ailleurs.

Pour la calculer, prends pour colonnes $v_i$ de $V$ une base orthonormée de vecteurs propres de $A^TA$, dans l'ordre des $\sigma_i$. Pose ensuite $u_i = Av_i/\sigma_i$ pour chaque $\sigma_i > 0$, et complète $U$ en base orthonormée. $\Sigma$ est unique, mais pas $U$ ni $V$ : changer $v_i$ en $-v_i$ change $u_i$ en $-u_i$.

$A^TA$ et $AA^T$ ont les mêmes valeurs propres non nulles : seul le nombre de zéros change. Si $A$ est symétrique, de valeurs propres $\lambda_i$, ses valeurs singulières sont les $|\lambda_i|$ ; sinon, ses valeurs propres ne les donnent pas en général.

Formule : si $\sigma_1, \dots, \sigma_r$ sont les valeurs singulières non nulles :

$\operatorname{rg}(A) = r$ et $A = \sum_{i=1}^{r} \sigma_i u_i v_i^T$, somme de $r$ matrices de rang $1$ ;

$\|A\|_2 = \sigma_1$, le plus grand $\|Ax\|$ pour $\|x\| = 1$, et $\|A\|_F = \sqrt{\sigma_1^2 + \dots + \sigma_r^2}$, racine de la somme des carrés des coefficients (norme de Frobenius) ;

pour $A$ carrée $n \times n$ : $|\det A| = \sigma_1 \sigma_2 \cdots \sigma_n$ et, si $A$ est inversible, son conditionnement (la sensibilité de $Ax = b$ aux erreurs) vaut $\kappa_2(A) = \|A\|_2\,\|A^{-1}\|_2 = \sigma_1/\sigma_n$ ;

pseudo-inverse : $A^+ = V\Sigma^+U^T$, où $\Sigma^+$ ($n \times m$) porte $1/\sigma_1, \dots, 1/\sigma_r$ sur sa diagonale et des zéros ailleurs ; si $A$ est inversible, $A^+ = A^{-1}$.

Garder les $k$ premiers termes de la somme donne $A_k = \sum_{i=1}^{k} \sigma_i u_i v_i^T$, la matrice de rang au plus $k$ la plus proche de $A$, en norme $2$ comme en norme de Frobenius (théorème d'Eckart-Young, leçon 7 du cours 18.065 du MIT).

À retenir : l'erreur de troncature se lit sur les valeurs singulières jetées : $\|A - A_k\|_2 = \sigma_{k+1}$, mais $\|A - A_k\|_F = \sqrt{\sigma_{k+1}^2 + \dots + \sigma_r^2}$.

Quiz : teste tes connaissances

Les questions montent en difficulté, et les trois dernières sont les plus piégeuses.

Question 1 : $A$ est une matrice $5 \times 3$. Dans sa SVD complète, quelles sont les tailles de $U$, $\Sigma$ et $V$ ?

A. $3 \times 3$, $3 \times 5$ et $5 \times 5$
B. $5 \times 5$, $3 \times 3$ et $3 \times 3$
C. $5 \times 5$, $5 \times 3$ et $3 \times 3$
D. $5 \times 3$, $5 \times 3$ et $3 \times 3$

Réponse : C. $U$ est $m \times m$ (ici $5 \times 5$), $V$ est $n \times n$ (ici $3 \times 3$), et $\Sigma$ a la taille de $A$. Le piège B prend le $\Sigma$ carré de la SVD réduite : avec $U$ en $5 \times 5$, le produit $U\Sigma$ n'est pas défini.

Question 2 : Les valeurs singulières de $A$ sont :

A. les racines carrées des valeurs propres de $A^TA$.
B. les valeurs propres de la matrice $A^TA$.
C. les valeurs absolues des valeurs propres de $A$.
D. les racines carrées des valeurs propres de $A$.

Réponse : A. $A^TA$ est symétrique, de valeurs propres positives ou nulles car $x^TA^TAx = \|Ax\|^2$. Le piège C ne vaut que si $A$ est symétrique.

Question 3 : Quelles sont les valeurs singulières de $A = \begin{pmatrix} 3 & 0 \\ 0 & -2 \end{pmatrix}$ ?

A. $\sigma_1 = 3$ et $\sigma_2 = -2$
B. $\sigma_1 = 9$ et $\sigma_2 = 4$
C. $\sigma_1 = 2$ et $\sigma_2 = 3$
D. $\sigma_1 = 3$ et $\sigma_2 = 2$

Réponse : D. $A^TA$ est diagonale de coefficients $9$ et $4$, d'où $\sigma_1 = 3$ et $\sigma_2 = 2$. Le piège A garde le signe, or une valeur singulière n'est jamais négative : le signe passe dans $U$, car $A = \begin{pmatrix} 1 & 0 \\ 0 & -1 \end{pmatrix} \begin{pmatrix} 3 & 0 \\ 0 & 2 \end{pmatrix} I_2$.

Question 4 : $A$, de taille $3 \times 3$, a pour valeurs singulières $5$, $1$ et $0$. Que peux-tu en dire ?

A. $\operatorname{rg}(A) = 3$ et $A$ est inversible.
B. $\operatorname{rg}(A) = 2$ et $\det A = 0$.
C. $\operatorname{rg}(A) = 2$ et $|\det A| = 5$.
D. $\operatorname{rg}(A) = 1$ et $\det A = 0$.

Réponse : B. Le rang compte les valeurs singulières non nulles : deux. Et $|\det A| = 5 \times 1 \times 0 = 0$. Le piège C oublie le zéro dans le produit : un seul $\sigma_i$ nul rend $A$ non inversible.

Question 5 : $A$ est symétrique, de valeurs propres $5$, $-3$ et $1$. Quelles sont ses valeurs singulières ?

A. $5$, $1$ et $-3$
B. $25$, $9$ et $1$
C. $\sqrt{5}$, $\sqrt{3}$ et $1$
D. $5$, $3$ et $1$

Réponse : D. $A$ étant symétrique, $A^TA = A^2$ a pour valeurs propres $25$, $9$ et $1$, d'où $5$, $3$ et $1$. Le piège C prend la racine des $|\lambda_i|$ au lieu de celle des valeurs propres de $A^TA$.

Question 6 : $A$ a pour valeurs singulières $4$, $3$ et $0$. Que valent $\|A\|_2$ et $\|A\|_F$ ?

A. $\|A\|_2 = 4$ et $\|A\|_F = 5$
B. $\|A\|_2 = 5$ et $\|A\|_F = 4$
C. $\|A\|_2 = 4$ et $\|A\|_F = 7$
D. $\|A\|_2 = 7$ et $\|A\|_F = 25$

Réponse : A. $\|A\|_2 = \sigma_1 = 4$, et $\|A\|_F = \sqrt{4^2 + 3^2} = 5$ car multiplier par une matrice orthogonale ne change pas cette norme. Le piège C additionne les valeurs singulières au lieu de leurs carrés.

Question 7 : $r$ étant le rang de $A$, quelle écriture est juste ?

A. $A = \sum_{i=1}^{r} \sigma_i v_i u_i^T$
B. $A = \sum_{i=1}^{r} \sigma_i u_i^T v_i$
C. $A = \sum_{i=1}^{r} \sigma_i u_i v_i^T$
D. $A = \sum_{i=1}^{r} \sigma_i^2 u_i v_i^T$

Réponse : C. Développé colonne par ligne, $U\Sigma V^T$ est la somme des $\sigma_i u_i v_i^T$, matrices $m \times n$ de rang $1$. Le piège B écrit $u_i^Tv_i$ : c'est un nombre, et il n'est même pas défini si $m \neq n$.

Question 8 : Les $\sigma_i$ étant rangés dans l'ordre décroissant, quelles matrices sont uniques dans $A = U\Sigma V^T$ ?

A. $U$, $\Sigma$ et $V$
B. $\Sigma$ seulement
C. $U$ et $V$ seulement
D. $V$ seulement

Réponse : B. Les $\sigma_i$ sont fixés par les valeurs propres de $A^TA$. Mais changer $u_i$ et $v_i$ en $-u_i$ et $-v_i$ ne change pas $\sigma_i u_i v_i^T$, donc pas $A$ : le piège A oublie ces changements de signe.

Question 9 : $A$ est carrée inversible, de valeurs singulières $100$, $2$ et $0{,}5$. Que vaut $\kappa_2(A) = \|A\|_2\,\|A^{-1}\|_2$ ?

A. $200$
B. $50$
C. $4$
D. $0{,}005$

Réponse : A. $\|A\|_2 = 100$, et $A^{-1} = V\Sigma^{-1}U^T$ a pour plus grande valeur singulière $1/0{,}5 = 2$ : $\kappa_2(A) = 100 \times 2 = 200$. Le piège B divise par $\sigma_2$ ; c'est la plus petite valeur singulière qui compte.

Question 10 : $A = U\Sigma V^T$ est $m \times n$. Quelle formule donne sa pseudo-inverse $A^+$ ?

A. $A^+ = U\Sigma^+V^T$
B. $A^+ = V\Sigma^+U^T$
C. $A^+ = V^T\Sigma^+U$
D. $A^+ = U^T\Sigma^+V$

Réponse : B. Si $A$ est inversible, $(U\Sigma V^T)^{-1} = V\Sigma^{-1}U^T$ : on renverse l'ordre, et l'inverse d'une matrice orthogonale est sa transposée. Le piège C a la bonne taille, $n \times m$, mais ses transpositions sont à l'envers.

Question 11 : $A$ est de taille $2 \times 3$ et de rang $2$. Laquelle de ces affirmations est juste ?

A. $A^TA$ et $AA^T$ ont exactement les mêmes valeurs propres.
B. $AA^T$ a $0$ pour valeur propre, $A^TA$ est inversible.
C. $A^TA$ et $AA^T$ sont toutes les deux inversibles.
D. $A^TA$ a $0$ pour valeur propre, $AA^T$ est inversible.

Réponse : D. $A^TA$ ($3 \times 3$) et $AA^T$ ($2 \times 2$) partagent les valeurs propres non nulles $\sigma_1^2$ et $\sigma_2^2$. $AA^T$ n'a que celles-là, donc elle est inversible ; $A^TA$ en a une troisième, nulle. Le piège A oublie ce zéro.

Question 12 : Quelles sont les valeurs singulières de $A = \begin{pmatrix} 1 & 2 \\ 0 & 1 \end{pmatrix}$ ?

A. $1$ et $1$
B. $\sqrt{5}$ et $1$
C. $1 + \sqrt{2}$ et $\sqrt{2} - 1$
D. $3 + 2\sqrt{2}$ et $3 - 2\sqrt{2}$

Réponse : C. $A^TA = \begin{pmatrix} 1 & 2 \\ 2 & 5 \end{pmatrix}$ a pour trace $6$ et pour déterminant $1$, donc pour valeurs propres $3 \pm 2\sqrt{2} = (\sqrt{2} \pm 1)^2$. Contrôle : $(\sqrt{2} + 1)(\sqrt{2} - 1) = 1 = |\det A|$. Le piège A lit la diagonale, donc les valeurs propres de $A$ ; mais $A$ n'est pas symétrique.

Question 13 : $A$ a pour valeurs singulières $10$, $4$ et $3$, et $A_1 = \sigma_1 u_1 v_1^T$. Que vaut $\|A - A_1\|_F$ ?

A. $5$
B. $7$
C. $4$
D. $25$

Réponse : A. $A - A_1 = 4\,u_2v_2^T + 3\,u_3v_3^T$ a pour valeurs singulières $4$ et $3$, donc $\|A - A_1\|_F = \sqrt{16 + 9} = 5$. Le piège C applique la règle de la norme $2$, où l'erreur vaut bien $\sigma_2 = 4$ ; en norme de Frobenius, toutes les valeurs jetées comptent.

Question 14 : Tu as $V$ (vecteurs propres orthonormés de $A^TA$) et les $\sigma_i > 0$. Comment obtenir chaque colonne $u_i$ pour que $A = U\Sigma V^T$ soit juste ?

A. Un vecteur propre unitaire de $AA^T$ pour $\sigma_i^2$.
B. Le vecteur $A^Tv_i$ divisé par $\sigma_i$.
C. Le vecteur $Av_i$ divisé par $\sigma_i^2$.
D. Le vecteur $Av_i$ divisé par $\sigma_i$.

Réponse : D. De $AV = U\Sigma$, on tire $Av_i = \sigma_i u_i$, et ce $u_i$ est unitaire car $\|Av_i\|^2 = v_i^TA^TAv_i = \sigma_i^2$. Le piège A choisit $u_i$ sans regarder $v_i$ : si tu tombes sur $-u_i$, $U\Sigma V^T$ ne redonne plus $A$.

Sources

MIT OpenCourseWare, cours 18.06SC Linear Algebra, séance « Singular Value Decomposition » : définition et lien avec les valeurs propres de $A^TA$.

MIT OpenCourseWare, cours 18.065, leçon 7 sur le théorème d'Eckart-Young : meilleure approximation de rang $k$.

Tu peux partager cette page librement, en citant ORBITECH AI Academy avec son lien.