matlab之矩阵分解
矩阵分解
矩阵分解 (decomposition, factorization)是将矩阵拆解为数个矩阵的乘积。
1.三角分解法:
要求原矩阵为方阵,将之分解成一个上三角形矩阵(或是排列(permuted) 的上三角形矩阵)和一个下三角形矩阵,简称LU分解法。
注意:这种分解法所得到的上下三角形矩阵并非唯一,还可找到数个不同的一对上下三角形矩阵。
MATLAB:
[L,U]=lu(A),A为方阵,L为下三角矩阵,U为上三角矩阵。
2.QR分解法:
A为任意矩阵,将A矩阵分解成一个正规正交矩阵与上三角形矩阵。
Matlab:
[Q,R]=qr(A),A为M*N的矩阵,R为M*N的上三角矩阵,Q为M*M的矩阵。 A = Q*R
3.奇异值分解法:
是最可靠的分解法,但是花费时间是QR分解的10倍,
[U,S,V]=svd(A),其中U和V代表二个相互正交矩阵,而S代表一对角矩阵,原矩阵A不必为正方矩阵。
使用SVD分解法的用途是解最小平方误差法和数据压缩。
matlab:
[U,S,V]=svd(A)
基础知识
1. 矩阵的秩:矩阵的秩是矩阵中线性无关的行或列的个数
2. 对角矩阵:对角矩阵是除对角线外所有元素都为零的方阵
3. 单位矩阵:如果对角矩阵中所有对角线上的元素都为1,该矩阵称为单位矩阵
4. 特征值:对一个M x M矩阵C和向量X,如果存在λ使得下式成立
5.正交矩阵:
ATA=E(即A-1=AT)