Loading

LU分解和转置

EA=U

我们通过消元法解出\(Ax=b\),在消元过程中,我们要把A化成上三角形式,我们称之为\(U\)。而\(E\)就是描述\(A\)\(U\)关系的矩阵,我们有\(EA=U\)

这是之前学过的内容,再熟悉不过了,但是我们的行交换矩阵\(E\)并不是一个漂亮的形式,为啥这么说呢!?看个例几~

\[A=\left[ \begin{matrix} 2&4&2\\ 4&10&5\\ 0&2&9 \end{matrix} \right] \]

\[E_{21}\left[ \begin{matrix} 1&0&0\\ -2&1&0\\ 0&0&1 \end{matrix} \right] \times A\left[ \begin{matrix} 2&4&2\\ 4&10&5\\ 0&2&9 \end{matrix} \right]= U_1\left[ \begin{matrix} 2&4&2\\ 0&2&1\\ 0&2&9 \end{matrix} \right] \]

这里我们对A第二行进行消元,我们使用矩阵\(E_{21}\)来表示上面左乘矩阵A的矩阵,这个矩阵反应了我们对A的消元操作,这就不用我说了。

我们把这一步得出的矩阵暂且命名为\(U_1\)

\[E_{32}\left[ \begin{matrix} 1&0&0\\ 0&1&0\\ 0&-1&1 \end{matrix} \right] \times U_1\left[ \begin{matrix} 2&4&2\\ 0&2&1\\ 0&2&9 \end{matrix} \right] =U\left[ \begin{matrix} 2&4&2\\ 0&2&1\\ 0&0&8 \end{matrix} \right] \]

继续消元,这回就得到最后的U了。

\[E= \left[ \begin{matrix} 1&0&0\\ 0&1&0\\ 0&-1&1 \end{matrix} \right] \times \left[ \begin{matrix} 1&0&0\\ -2&1&0\\ 0&0&1 \end{matrix} \right]= \left[ \begin{matrix} 1&0&0\\ -2&1&0\\ 2&-1&1 \end{matrix} \right] \]

得出了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^{-1}=L=\left[ \begin{matrix} 1&0&0\\ 2&1&0\\ 0&1&1 \end{matrix} \right] \]

对于E这种消元矩阵,逆的本质其实是把消元所做的操作复原,所以那些关键的部分的负号都变成了正号。所以它的你很容易得到。

不过随便你用什么求逆,高斯若尔当法、matlab??反正你会得到这个,令人惊奇的是这个矩阵个没用的数字没了只剩下这些我们关注的,对消元有用的信息。

A=PLU

呦呦呦,不知道你发没发现,上面我们举得例子都是没有行互换的,而现实场景恰恰都要行互换,所以我们要得到下一个形式。

我们先来定义一些置换矩阵,它是单位矩阵的行互换形式,对于这种矩阵,它的逆等于它本身,它们相乘,结果也依然在这些矩阵中。

我们看看\(2 \times 2\)形式下的所有置换矩阵:

\[\left[ \begin{matrix} 1&0\\ 0&1 \end{matrix} \right], \left[ \begin{matrix} 0&1\\ 1&0 \end{matrix} \right] \]

第一个就是单位阵,它啥都不做,第二个把第一行和第二行互换。

对于\(3 \times 3\)我就不说了,它有6个,对于\(n \times n\)\(n!\)个置换矩阵。

所以完整的形式应该是\(A=PLU\),P代表所作的行互换。

转置

转置放在这里实在有点不搭,但是Gilbert Strang老爷子就是这么讲的哈哈哈,我好喜欢这老爷子~~

转置即把矩阵放倒或立起来:

\[A = \left[ \begin{matrix} 1&3\\ 2&3\\ 4&1 \end{matrix} \right], A^{T} = \left[ \begin{matrix} 1&2&4\\ 3&3&1 \end{matrix} \right] \]

对称矩阵的转置等于本身:

\[A = A^T \left[ \begin{matrix} 1&3&5\\ 3&2&7\\ 5&7&4 \end{matrix} \right] \]

对于转置有如下运算性质:

\[(AB)^T = B^TA^T \]

一个矩阵乘它的转置必定得到一个对称矩阵:

\[(AA^T)^T = A^{TT}A^T =AA^T \]

参考资料

posted @ 2020-03-13 16:03  yudoge  阅读(648)  评论(0编辑  收藏  举报