矩阵的奇异值分解

定义

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

ACm×n ,则存在酉矩阵 UCm×n VCm×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=AV1S1 得到 AAH 的非零特征值所对应的特征向量,其余的特征向量可以由Hermite矩阵的特征向量的正交性获得(显然不唯一)。
2. 求 AAH 的特征值及对应的特征向量,得到 U . 其中非零向量特征值对应的特征向量构成矩阵 U1 ,由公式 V1=AHU1S1 得到 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

你可能感兴趣的:(奇异值分解)