matlab计算奇异值和正交矩阵,奇异值、奇异矩阵、SVD分解、正交矩阵

奇异值:

奇异值分解法是线性代数中一种重要的矩阵分解法,在信号处理、统计学等领域有重要应用。

定义:设A为m*n阶矩阵,A'表示A的转置矩阵,A'*A的n个特征值的非负平方根叫作A的奇异值。记为σi(A)。

如果把A‘*A的特征值记为λi(A‘*A),则σi(A)=sqrt(λi(A’*A))。

奇异矩阵:

奇异矩阵是线性代数的概念,就是对应的行列式等于0的矩阵。奇异矩阵的判断方法:首先,看这个矩阵是不是方阵(即行数和列数相等的矩阵。若行数和列数不相等,那就谈不上奇异矩阵和非奇异矩阵)。然后,再看此方阵的行列式|A|是否等于0,若等于0,称矩阵A为奇异矩阵;若不等于0,称矩阵A为非奇异矩阵。

同时,由|A|≠0可知矩阵A可逆,这样可以得出另外一个重要结论:可逆矩阵就是非奇异矩阵,非奇异矩阵也是可逆矩阵。如果A为奇异矩阵,则AX=0有非零解或无解。如果A为非奇异矩阵,则AX=0有且只有唯一零解。

svd

设A为m*n阶矩阵,A'表示A的转置矩阵,A'*A的n个特征值的非负平方根叫作A的奇异值。记为σi(A)。

这几天做实验涉及到奇异值分解svd(singular value

decomposition),涉及到这样的一个问题,

做PCA时候400幅图像拉成向量按列摆放,结果摆成了比如说10000*400大小的矩阵,

用到svd函数进行奇异值分解找主分量,结果MATLAB提示超出内存,后来想起还有个函数叫svds,看

你可能感兴趣的:(matlab计算奇异值和正交矩阵,奇异值、奇异矩阵、SVD分解、正交矩阵)