这是Strang教授的第四讲,讲解的内容是矩阵的LU分解,LU分解是线性代数中矩阵的一个重要分解,它将原矩阵分解成一个下三角阵和一个上三角阵的乘积形式,L和U源于字母Lower和Upper。矩阵的LU分解在教授讲解矩阵消元过程中就已经初见端倪了(矩阵消元-线性代数课时2(MIT Linear Algebra , Gilbert Strang)。
A=LU分解是高斯消元的逆过程,高斯消元互换等式两端表达式的位置就是U=EA,E是消元矩阵,在不考虑行变换的情况下,对于2阶矩阵,对于3阶矩阵
,高斯消元过程参考:矩阵乘法和逆矩阵-线性代数课时3(MIT Linear Algebra , Gilbert Strang)。将U=EA等式两端同时乘上
得到
,将
改写成L就是A的LU分解。
同样还是以2阶矩阵和3阶矩阵为例,写一下L的表达式。对于2阶矩阵,对于3阶矩阵
,至于表达式为什么是这样,请参考《矩阵乘法和逆矩阵-线性代数课时3(MIT Linear Algebra , Gilbert Strang)》矩阵的逆性质7。
那么我们为什么对A=LU感兴趣,而不是U=EA呢?要回答这个问题,我们最好从例子入手说明,假设3阶矩阵A,我们对A的消元过程中得到:
那么:
对比上面两个表达式,你会发现L矩阵有一个很好的性质:L矩阵可以通过将矩阵对角线下方的元素直接放到L矩阵对应的位置得到,而E矩阵并不具有这样的性质,在例子中E矩阵在(3,1)位置处产生了一个10,而它并不存在于
的对角线一下的元素中。而这个性质对n阶的矩阵都成立。为什么L和E看似相同的表达式(
和
只是将(i,j)位置的数符号取反),一个具有良好的性质,而另外一个不令人满意呢?答案就在消元矩阵
的特点(对角线元素为1,第j列下方元素某个元素(第i个)不为0,其余元素均为0)和矩阵乘法的顺序上。
还是以上面3x3矩阵的例子说明为什么,高斯消元是从第一列开始到第n列结束,这决定了的矩阵乘法顺序,这里
在我门的例子中假设为单位阵所以直接考虑
和
相乘,我们用矩阵乘法的列方法解释
的过程(列方法参考《矩阵乘法和逆矩阵-线性代数课时3(MIT Linear Algebra , Gilbert Strang)》),E的列等于
列向量的线性组合:
列1: 1·(1,2,0)+ 0·(0,1,0)+ 0·(0,0,1)
列2:0·(1,2,0)+ 1·(0,1,0)+ 5·(0,0,1)
列3:0·(1,2,0)+ 0·(0,1,0)+ 1·(0,0,1)
首先观察列1和列3,他们和的列1和列3相等,因为对
来说第2列前面的列和后面的列对角线上下都为0,所以对于列2之外的列都会取
对应的列作为相乘之后的结果。对于列2,首先
对角线元素为1,相当于取去了
的第2列作为列向量线性组合的一个相加项,对于对角线下的5正好在L的第(3,2)位置引入元素5。这个推理对n阶的的L推理都成立,因为从矩阵乘法右边的矩阵
第j列前后的列始终只有对角线上取值为1,所以它始终会保持左边矩阵的1-(j-1)和(j+1)-n列不变,而将
地(i,j)位置的元素直接引入到结果中去。
U矩阵是一个上三角矩阵,将U矩阵分解成下面的形式:
一个对角矩阵用D表示和一个对角线为1的上三角矩阵还是用U表示,A=LU可以写成A=LDU。
有了LU分解之后,我们对Ax=b的求解可以转化为下面的两个方程组的顺序求解:
Ax=b <=> Lc=b ,Ux=c
为什么求解Ax=b 等价于求解Lc=b ,Ux=c 呢?将Ux=c等式左右两边同时左乘上L,回发现LUx=Lc就是Ax=b。你会发现求解Lc=b ,Ux=c都不再需要消元了,因为L是一个下三角矩阵,U是一个上三角矩阵,我们只需要通过回代就能求得x。
内容对应《INTRODUCTION TO LINEAR ALGEBRA》2.6章节。
下节课:转置,置换和向量空间R-线性代数课时5(MIT Linear Algebra , Gilbert Strang)