Par les propriétés de la transposée,
(ATA)T(AAT)T=AT(AT)T=ATA,=(AT)TAT=AAT.
Exemple:
Si
A=−123205, alors
ATA=(−122035)−123205=(14131329),
et
AAT=−123205(−122035)=5−27−2467634
Étant symétriques, le
Théorème Spectral
garantit que ATA et AAT sont diagonalisables:
Il existe une matrice orthogonale V (n×n) et une matrice
diagonale D (n×n) telle que
ATA=VDVT.
Il existe une matrice orthogonale U (m×m) et une matrice
diagonale D′ (m×m) telle que
AAT=UD′UT.
On sait que les éléments diagonaux de D (resp. D′) sont les valeurs
propres de ATA (resp. AAT), 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:
Lemme:
Pour toute matrice A,
Un scalaire λ=0 est valeur
propre de ATA si et seulement si
il est également valeur propre de AAT.
Si λ est valeur propre
de ATA ou de AAT, alors λ⩾0.
1.
Supposons que λ=0
est valeur propre de ATA. Alors il existe
v∈Rn, non-nul, tel que
(ATA)v=λv.
Remarquons que Av=0
puisque ATAv=0.
Ensuite, en multipliant les deux côtés de l'identité de dessus
par A, on obtient
AAT(Av)=λ(Av),
qui signifie que λ est aussi valeur propre de AAT, associée au
vecteur propre Av∈Rm (qui est non-nul comme on a dit).
Le même argument montre que toute valeur propre non-nulle de AAT est
également valeur propre de ATA.
2. Maintenant avec une valeur propre
λ de ATA, et un vecteur propre v=0,
ATAv=λv, on peut écrire
λ∥v∥2=λ(v⋅v)=v⋅(λv)=v⋅(ATAv)=(Av)⋅(Av)=∥Av∥2⩾0.
Puisque ∥v∥>0, on en déduit que λ⩾0.
Les deux lemmes ci-dessus impliquent:
Pour toute matrice A (m×n), il existe au plus min{m,n}
valeurs propres non-nulles communes de ATA et AAT.
On sait que
ATA est n×n et possède donc au maximum n valeurs propres
non-nulles, et
AAT est m×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.
Considérons la diagonalisation de ATA:
ATA=VDVT.
En multipliant à gauche par VT puis à droite par V,
VT(ATA)V=D.
Par le lemme ci-dessus, toutes les valeurs propres de ATA, sur la diagonale
de D, sont ⩾0.
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=diag(λ1,λ2,…,λl,0,…,0),
avec λ1>0,…,λl>0.
Distinguons ensuite
la sous-matrice diagonale de D qui contient les valeurs propres strictement
positives, en écrivant:
D=[D∗000]□,
où D∗=diag(λ1,…,λl) est l×l,
et les ''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=[V1V2]□,
où
V1 est une matrice n×l dont les colonnes forment une famille
libre de vecteurs
propres associés aux valeurs propres non-nulles
λ1,…,λl.
V2 est une matrice n×(n−l) dont les colonnes forment une famille
libre de vecteurs propres associés à la valeur propre λ=0.
L'orthonormalité des colonnes de V implique que
V1TV1=Il,V2TV2=In−l,
mais la relation VVT=In implique aussi que
In=VVT=[V1V2]□[V1TV2T]□=V1V1T+V2V2T.
Utilisons ces matrices V1 et V2 pour récrire la diagonalisation
ATA=VDVT, qui est équivalente à VT(ATA)V=D. Comme
VT(ATA)V=[V1TV2T]□ATA[V1V2]□=[V1TV2T]□[ATAV1ATAV2]□=[V1TATAV1V2TATAV1V1TATAV2V2TATAV2]□,
et comme cette matrice est égale à
D=[D∗000]□,
ceci implique que
V1TATAV1=D∗(l×l)
et
V2TATAV2=0((n−l)×(n−l))
De cette dernière, on tire que (AV2)T(AV2)=0, qui implique que
AV2=0.
(En effet, on sait que pour toute matrice M, MTM contient tous les
produits scalaires possibles entre les colonnes de M, en particulier, sur sa
diagonale, les carrés des normes des colonnes. Si MTM=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 m×l:
U1:=AV1D∗−1/2,
où
D∗−1/2:=diag(1/λ1,…,1/λl)
est bien définie puisque λk>0 pour tout k=1,…,l, et n'est
rien d'autre que l'inverse de
D∗1/2:=diag(λ1,…,λl).
On remarque maintenant que les colonnes de U1 forment une famille
orthonormale, puisque
U1TU1=(AV1D∗−1/2)TAV1D∗−1/2=D∗−1/2(V1TATAV1)D∗−1/2=D∗−1/2D∗D∗−1/2=Il.
Montrons que U1, D∗ et V1 fournissent
déjà une première factorisation de A:
En effet,
U1D∗1/2V1T=AV1=IlD∗−1/2D∗1/2V1T=AV1V1T=A(In−V2V2T)=A−(=0AV2)V2T=A
Cette première factorisation constitue la base de l'argument; il reste maintenant
à modifier le produit
U1D∗1/2V1T, en augmentant les tailles des matrices,
de façon à ce qu'il devienne UΣVT.
On rajoute d'abord à V1T le bloc V2T, ce qui donne
VT=[V1TV2T]□
Passons à U.
Si l=m, alors on peut prendre U=U1. Mais,
si l<m, U1 n'est pas carrées: ses
colonnes forment une base orthonormée de
Col(U1)⊂Rm, mais pas de Rm, on peut donc compléter
cette base en une base de Rm, et même, via un procédé de
Gram-Schmidt si nécessaire,
la compléter en une base orthonormée de Rn. Les m−l
vecteurs rajoutés peuvent être rangés dans une matrice U2,
m×(m−l), qui permet de définir la
matrice m×m orthogonale
U:=[U1U2]□.
Finalement, Σ (m×n) est construite à partir de
D∗1/2 (l×l), en rajoutant
des blocs nuls, si nécessaire (rappelons que l⩽min{m,n}):
Σ:=[D∗1/2000]□.
où
0 est l×(n−l),
0 est (m−l)×l,
0 est (m−l)×(n−l).
Remarquons que ceci peut a priori faire apparaître des valeurs singulières
nulles sur la diagonale de Σ.
Montrons que l'on a ce qu'on voulait:
En effet,
UΣVT=[U1U2]□[D∗1/2000]□[V1TV2T]□=[U1U2]□[D∗1/2V1T0]□=U1D∗1/2V1T=A.
Ceci termine la preuve de l'existence d'une SVD.
Quelques remarques au vu de la preuve que l'on vient de donner:
Les valeurs singulières non-nulles
de A sont les racines carrées des valeurs propres deATA (et AAT):
σj=λj.
Les valeurs singulières nulles sont possibles (elles apparaissent au moment où
on complète D∗1/2 avec des blocs de zéros), et sont liées au fait que
ATA ou AAT peuvent posséder λ=0 comme valeur propre.
On l'a dit, les colonnes de V forment une base orthonormée
de Rn, formée de vecteurs propres de ATA, et les colonnes de
U forment une base orthonormale de Rm, formée de vecteurs propres de
AAT.
La définition du bloc U1=[u1⋯ul]
peut aussi s'exprimer comme suit:
U1=AV1D∗−1/2=[Av1⋯Avl]D∗−1/2=[λ11Av1⋯λl1Avl].
On a donc toujours un moyen direct de calculer les l premières colonnes de
U1:
uj:=λj1Avj,j=1,2,…,l,
où vj est la j-ème colonne de V1, correspondant au vecteur
propre orthonormé de ATA,
associé à la j-ème valeur propre λj>0.
Comme la décomposition QR, la décomposition en valeurs singulières existe
toujours, mais n'est pas unique. En effet, le choix des
vecteurs propres, dans la construction de V, peut toujours se faire de
multiples façons, menant à autant de SVD différentes.