定义:设A为m*n阶矩阵,AHA的n个特征值的非负平方根叫作A的奇异值。记为σi(A)。>如果把AHA的特征值记为λi(A),则σi(A)=λi(AHA)^(1/2)。
>>
奇异值分解是线性代数中一种重要的矩阵分解,在信号处理、统计学等领域有重要应用。
定理(奇异值分解)设A为m*n阶复矩阵,则存在m阶酉阵U和n阶酉阵V,使得:>>
A = U*S*V’>>
其中S=diag(σi,σ2,……,σr),σi>0 (i=1,…,r),r=rank(A)。
推论:设A为m*n阶实矩阵,则存在m阶正交阵U和n阶正交阵V,使得>>
A = U*S*V’>>
其中S=diag(σi,σ2,……,σr),σi>0 (i=1,…,r),r=rank(A)。
说明:>>
1、 奇异值分解非常有用,对于矩阵A(m*n),存在U(m*m),V(n*n),S(m*n),满足A = U*S*V’。U和V中分别是A的奇异向量,而S是A的奇异值。AA'的正交单位特征向量组成U,特征值组成S'S,A'A的正交单位特征向量组成V,特征值(与AA'相同)组成SS'。因此,奇异值分解和特征值问题紧密联系。 >>
2、 奇异值分解提供了一些关于A的信息,例如非零奇异值的数目(S的阶数)和A的秩相同,一旦秩r确定,那么U的前r列构成了A的列向量空间的正交基。
>>
matlab奇异值分解
>>
函数 svd>>
格式 s = svd (A) %返回矩阵A的奇异值向量>>
[U,S,V] = svd(A) %返回一个与A同大小的对角矩阵S,两个酉矩阵U和V,且满足= U*S*V'。若A为m×n阵,则U为m×m阵,V为n×n阵。奇异值在S的对角线上,非负且按降序排列。>>
[U1,S1,V1]=svd(X,0) %产生A的“经济型”分解,只计算出矩阵U的前n列和n×n阶的S。
>>
说明:>>
1.“经济型”分解节省存储空间。>>
2. U*S*V'=U1*S1*V1'。>>