常见的几种矩阵分解
1.三角分解(LU分解)
矩阵的LU分解是将一个矩阵分解为一个下三角矩阵与上三角矩阵的乘积。本质上,LU分解是高斯消元的一种表达方式。首先,对矩阵A通过初等行变换将其变为一个上三角矩阵。对于学习过线性代数的同学来说,这个过程应该很熟悉,线性代数考试中求行列式求逆一般都是通过这种方式来求解。然后,将原始矩阵A变为上三角矩阵的过程,对应的变换矩阵为一个下三角矩阵。这中间的过程,就是Doolittle algorithm(杜尔里特算法)。
转一个Tony Ma同学写的例子:
若AX=b是一个非奇异系统,那么高斯消元法将A化简为一个上三角矩阵。若主轴上没有0值,则无需交互行,因此只需进行第3类初等行变换(把第 i 行加上第 j 的 k 倍)即可完成此变换。例如
第3类行变换可以通过左乘相应的初等矩阵image实现,对上例来说进行的3个变换就是相应初等矩阵的乘积。注意最右边是一个下三角矩阵L
1)U是高斯消元的结果,且对角线上是主元
2)L对角线上是1,对角线下面的元素image恰恰是在式1中用于消去(i,j)位置上元素的乘子。
LU分解常用来求解线性方程组,求逆矩阵或者计算行列式。例如在计算行列式的时候,A=LUA=LU,det(A)=det(L)det(U)det(A)=det(L)det(U)。而对于三角矩阵来说,行列式的值即为对角线上元素的乘积。所以如果对矩阵进行三角分解以后再求行列式,就会变得非常容易。
在线性代数中已经证明,如果方阵AA是非奇异的,即AA的行列式不为0,LU分解总是存在的。
并非所有矩阵都能进行LU分解,能够LU分解的矩阵需要满足以下三个条件:
1.矩阵是方阵(LU分解主要是针对方阵);
2.矩阵是可逆的,也就是该矩阵是满秩矩阵,每一行都是独立向量;
3.消元过程中没有0主元出现,也就是消元过程中不能出现行交换的初等变换。
2.QR分解
QR分解是将矩阵分解为一个正交矩阵与上三角矩阵的乘积。用一张图可以形象地表示QR分解:
3.Jordan分解
我们将下面的 k×k 阶方阵