定义

设A∈Cm×n,则矩阵AHA的n个特征值λi的算术平方根δi=λi−−√叫做A的奇异值(Singular Value )。

设A∈Cm×n,则存在酉矩阵U∈Cm×n和V∈Cm×n使得

A=UΣVH

式中 Σ=[Σ1OOO],且 Σ1=diag(σ1,σ2,...,σr),其对角元素按照顺序

σ1≧σ2≧...≧σr>0,r=rank(A)

排列。


这就是所谓的矩阵的奇异值分解(Singular Value Decomposition,SVD)


注:酉矩阵是正交矩阵在复数域的推广。

求解

有两种求V,U的步骤:
1. 求AHA的特征值及对应的特征向量,得到V. 其中非零向量特征值对应的特征向量构成矩阵V1,由公式U1=AV1S−1得到AAH的非零特征值所对应的特征向量,其余的特征向量可以由Hermite矩阵的特征向量的正交性获得(显然不唯一)。
2. 求AAH的特征值及对应的特征向量,得到U. 其中非零向量特征值对应的特征向量构成矩阵U1,由公式V1=AHU1S−1得到AAH的非零特征值所对应的特征向量,其余的特征向量可以由Hermite矩阵的特征向量的正交性获得(显然不唯一)。


在Matlab中可使用svd函数进行求解:

>> A = [1 0 1; 0 1 -1];
>> [U, S, V] = svd(A)

U =

-0.7071 0.7071 0.7071 0.7071


S =

1.7321 0 0
0 1.0000 0


V =

-0.4082 0.7071 -0.5774 0.4082 0.7071 0.5774
-0.8165 -0.0000 0.5774