矩阵分解 (decomposition, factorization), 顾名思义, 就是将矩阵进行适当的分解, 使得进一步的处理更加便利。矩阵分解多数情况下是将一个矩阵分解成数个三角阵(triangular matrix)。依使用目的的不同,一般有三种矩阵分解方法:1)三角分解法 (Triangular decomposition),2)QR 分解法 (QR decomposition),3)奇异值分解法 (Singular Value Decompostion)。
1) 三角分解法(Triangular decomposition)
三角分解法是将方阵 (square matrix)分解成一个上三角矩阵﹝或是排列(permuted) 的上三角矩阵﹞和一个下三角矩阵,该方法又被称为LU分解法。
例如, 矩阵X=[1 2 3;4 5 6;7 8 9], 运用该分解方法可以得到:
上三角矩阵L=[0.1429 1.0000 0
0.5714 0.5000 1.0000
1.0000 0 0]
和下三角矩阵U=[7.0000 8.0000 9.0000
0 0.8571 1.7143
0 0 0.0000]
不难验证 L* U = X.
该分解方法的用途主要在简化大矩阵的行列式值的计算,矩阵求逆运算和求解联立方程组。需要注意的是, 这种分解方法所得到的上下三角形矩阵不是唯一的,我们还可找到若干对不同的上下三角矩阵对,它们的乘积也会得到原矩阵。
对应MATLAB命令: lu
2) QR分解法
QR分解法是将矩阵分解成一个单位正交矩阵(自身与其转置乘积为单位阵I)和一个上三角矩阵。
对应MATLAB命令: qr
3) 奇异值分解法(SVD)
奇异值分解 (sigular value decomposition,SVD) 是另一种正交矩阵分解法;SVD是最可靠的分解法,但是它比QR 分解法要花上近十倍的计算时间。使用SVD分解法的用途是求解最小平方误差和数据压缩。
对应MATLAB命令: svd