LU分解和转置
EA=U
我们通过消元法解出\(Ax=b\),在消元过程中,我们要把A化成上三角形式,我们称之为\(U\)。而\(E\)就是描述\(A\)与\(U\)关系的矩阵,我们有\(EA=U\)。
这是之前学过的内容,再熟悉不过了,但是我们的行交换矩阵\(E\)并不是一个漂亮的形式,为啥这么说呢!?看个例几~
这里我们对A第二行进行消元,我们使用矩阵\(E_{21}\)来表示上面左乘矩阵A的矩阵,这个矩阵反应了我们对A的消元操作,这就不用我说了。
我们把这一步得出的矩阵暂且命名为\(U_1\)
继续消元,这回就得到最后的U了。
得出了E,\(E\)反应了我们对\(A\)所进行的消元操作,\(E_{(2,1)}\)说明该行从原矩阵取了-2倍行一,\(E_{(2,2)}\)说明该行从原矩阵取了1倍行二,这也就是我们对第二行进行的消元操作——减去2倍行一。
但是第三行就有问题了,我们对第三行进行消元时,并没有从第三行中减去任何倍的行一,我们直接减去了1倍的行2,但是这个位置却有个2,这是因为上一步消元中我们对行2减去了2倍行一,而这次消元我们直接用行3减去了已经处理完的行2,所以之前的操作就体现在这里了。
但是,这个数据是多余的,因为矩阵\(E\)中的第二行已经足够说明这个操作了,我们不想要它。这就有了\(A=LU\)这一形式。
A=LU
我们先看看\(L\)是啥,因为之前我们知道的式子是\(EA=U\),两边分别左乘\(E^{-1}\),则得到\(A=E^{-1}U\),所以\(L\)即\(E\)的逆。
然后再看看\(E\)的逆是啥:
对于E这种消元矩阵,逆的本质其实是把消元所做的操作复原,所以那些关键的部分的负号都变成了正号。所以它的你很容易得到。
不过随便你用什么求逆,高斯若尔当法、matlab??反正你会得到这个,令人惊奇的是这个矩阵个没用的数字没了只剩下这些我们关注的,对消元有用的信息。
A=PLU
呦呦呦,不知道你发没发现,上面我们举得例子都是没有行互换的,而现实场景恰恰都要行互换,所以我们要得到下一个形式。
我们先来定义一些置换矩阵,它是单位矩阵的行互换形式,对于这种矩阵,它的逆等于它本身,它们相乘,结果也依然在这些矩阵中。
我们看看\(2 \times 2\)形式下的所有置换矩阵:
第一个就是单位阵,它啥都不做,第二个把第一行和第二行互换。
对于\(3 \times 3\)我就不说了,它有6个,对于\(n \times n\)有\(n!\)个置换矩阵。
所以完整的形式应该是\(A=PLU\),P代表所作的行互换。
转置
转置放在这里实在有点不搭,但是Gilbert Strang老爷子就是这么讲的哈哈哈,我好喜欢这老爷子~~
转置即把矩阵放倒或立起来:
对称矩阵的转置等于本身:
对于转置有如下运算性质:
一个矩阵乘它的转置必定得到一个对称矩阵: