线性代数04.A的LU分解

本篇为MIT公开课——线性代数 笔记。

乘积的逆

两矩阵 \(A、B\) 相乘,且他们的逆均已知,那么他们的乘积 \((A.B)\) 的逆是什么?

先说结果,\((A.B)\) 的逆就是 \((B^{-1}.A^{-1})\) ,即

\[(A.B)(B^{-1}.A^{-1})=I \]

我们可以把括号消掉,根据乘法结合律,就能得到单位矩阵。

为什么逆矩阵顺序要反过来?

就像:先脱鞋子,再脱袜子,那么其逆过程就是,先穿袜子,再穿鞋子。

就是说,矩阵乘法顺序不能交换,必须先合成一个单位矩阵,然后再把两边矩阵再合成单位矩阵。

同理,我们进行左乘\((B^{-1}.A^{-1})\)也可以得到单位矩阵,即

\[(B^{-1}.A^{-1})(A.B)=I \]

转置

将矩阵的行列互换得到的新矩阵称为转置矩阵。

例如

\[A=\left( \begin{array}{ccc} 1 & 2 & 3 \\ 4 & 5 & 6 \\ \end{array} \right) \]

转置后,变为

\[A^T=\left( \begin{array}{cc} 1 & 4 \\ 2 & 5 \\ 3 & 6 \\ \end{array} \right) \]

转置矩阵用右上标加 \(T\) 表示。他将 \(m*n\) 矩阵,变为 \(n*m\)

如果转置某可逆矩阵\(B\), 那么其转置\(B^{T}\)的逆是什么?

我们可以从\(B.B^{-1}=I\) 开始,

两边同时转置,单位矩阵因为其对称性,转置后还是单位矩阵,

\[\left(B^{-1}\right)^T。 B^T=I \]

可以看出,\(B^T\) 的逆就是 \(\left(B^{-1}\right)^T\) ,也就是 \(B\) 的逆矩阵的转置。

A的LU分解

前面的课程我们从矩阵 \(A\) 得到上三角矩阵 \(U\) ,是否存在一个矩阵\(L\),直接描述 \(A\)\(U\) 联系?

\(2*2\) 矩阵

举例:我们将矩阵 \(A\) 消元,得到上三角矩阵 \(U\).(\(upper\)

\[\left( \begin{array}{cc} 1 & 0 \\ -4 & 1 \\ \end{array} \right).\left( \begin{array}{cc} 2 & 1 \\ 8 & 7 \\ \end{array} \right)=\left( \begin{array}{cc} 2 & 1 \\ 0 & 3 \\ \end{array} \right) \]

\[E_{21}\quad.\quad A\quad\,\,\,\,\,= \quad U \]

那么什么矩阵能让我们得到 \(A=L.U\) ?我们两边同时乘以 \(E_{21}\) 的逆,就能得到,\(L\) 就是\(E_{21}\) 的逆。注意两边都是左乘。

\[\left( \begin{array}{cc} 2 & 1 \\ 8 & 7 \\ \end{array} \right)=\left( \begin{array}{cc} 1 & 0 \\ 4 & 1 \\ \end{array} \right).\left( \begin{array}{cc} 2 & 1 \\ 0 & 3 \\ \end{array} \right) \]

\[A\quad=\quad L\quad\,\,\,\,\,. \quad U \]

\(L\) 表示下三角矩阵(\(lower\))。

有时会把 \(U\) 的主元单独列出来:

\[\left( \begin{array}{cc} 2 & 1 \\ 8 & 7 \\ \end{array} \right)=\left( \begin{array}{cc} 1 & 0 \\ 4 & 1 \\ \end{array} \right).\left( \begin{array}{cc} 2 & 0 \\ 0 & 3 \\ \end{array} \right).\left( \begin{array}{cc} 1 & \frac{1}{2} \\ 0 & 1 \\ \end{array} \right) \]

这个式子叫做 \(LDU\) 分解。

\(3*3\) 矩阵

假设矩阵 \(A\) ,我们通过消元得到 \(U\)

\[E_{32}.E_{31}.E_{21}.A=U \]

矩阵 \(L\)就是各次消元矩阵的逆反顺序相乘:

\[A=E_{21}^{-1}.E_{31}^{-1}.E_{32}^{-1}.U \]

到底为什么要写成这种逆的形式?而不用上面式子直接表示?

举例:

\[E_{21}=\left( \begin{array}{ccc} 1 & 0 & 0 \\ -2 & 1 & 0 \\ 0 & 0 & 1 \\ \end{array} \right)\\ E_{31}=\left( \begin{array}{ccc} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \\ \end{array} \right)\\ E_{32}=\left( \begin{array}{ccc} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & -5 & 1 \\ \end{array} \right) \]

其中 \(E_{31}\) 是单位矩阵,下面我们相乘

\[\left( \begin{array}{ccc} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & -5 & 1 \\ \end{array} \right).\left( \begin{array}{ccc} 1 & 0 & 0 \\ -2 & 1 & 0 \\ 0 & 0 & 1 \\ \end{array} \right)=\left( \begin{array}{ccc} 1 & 0 & 0 \\ -2 & 1 & 0 \\ 10 & -5 & 1 \\ \end{array} \right) \]

这是要求的总的消元矩阵 \(E\)

然后进行逆反顺序相乘:

\[\left( \begin{array}{ccc} 1 & 0 & 0 \\ 2 & 1 & 0 \\ 0 & 0 & 1 \\ \end{array} \right).\left( \begin{array}{ccc} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 5 & 1 \\ \end{array} \right)=\left( \begin{array}{ccc} 1 & 0 & 0 \\ 2 & 1 & 0 \\ 0 & 5 & 1 \\ \end{array} \right) \]

这就是要求的矩阵 \(L\)

可以看出,在L中不会出现像例子中E31(10)这项,这种因为消元产生的次生项,L比E更干净整洁,能一步到位写出来,这种书写能提高计算速度。

L矩阵只要得到主元的比值即可直接写出。

总结

对于 \(A=L.U\) ,如果不存在行交换,消元乘数可以直接写入 \(L\) 中。

意义

\(LU\) 分解的意义,在于优化计算速度(相比顺序高斯消元法)。

在一些实际应用场景中,如果求解方程 \(Ax=b\),系数矩阵 \(A\) 固定,\(b\) 是随输入变化的,求解不同的 \(x\)。这时 \(LU\) 分解就十分有用,通过将 \(A\) 预处理(分解),大大减少操作步骤。

通过将 \(A\) 分解,方程\(Ax=b\) 可以写成 \(L.(Ux)=b\) 形式,把\(Ux\) 替换为 \(y\) ,可以求解下面两个方程求解 \(x\) .

\[L y=b\\ U x=y \]

引用在其他地方看到的例子说明:https://blog.csdn.net/wo94chunjie/article/details/103859745

已知

\[A=\left( \begin{array}{cccc} 3 & -7 & -2 & 2 \\ -3 & 5 & 1 & 0 \\ 6 & -4 & 0 & -5 \\ -9 & 5 & -5 & -12 \\ \end{array} \right)=\left( \begin{array}{cccc} 1 & 0 & 0 & 0 \\ -3 & 1 & 0 & 0 \\ 6 & -4 & 1 & 0 \\ -9 & 5 & -5 & 1 \\ \end{array} \right).\left( \begin{array}{cccc} 3 & -7 & -2 & 2 \\ 0 & -2 & -1 & 2 \\ 0 & 0 & -1 & 0 \\ 0 & 0 & 0 & -1 \\ \end{array} \right)=\text{LU}\\ \]

假设 \(b=\left( \begin{array}{c} -9 \\ 5 \\ 7 \\ 11 \\ \end{array} \right)\)

应用 \(A\)\(LU\) 分解求解 \(Ax=b\)

1)解 \(L y=b\) ,仅需6次乘法和6次加法

\[[L\quad U]=\left( \begin{array}{ccccc} 1 & 0 & 0 & 0 & -9 \\ -3 & 1 & 0 & 0 & 5 \\ 6 & -4 & 1 & 0 & 7 \\ -9 & 5 & -5 & 1 & 11 \\ \end{array} \right)\rightarrow \left( \begin{array}{ccccc} 1 & 0 & 0 & 0 & -9 \\ 0 & 1 & 0 & 0 & -4 \\ 0 & 0 & 1 & 0 & 5 \\ 0 & 0 & 0 & 1 & 1 \\ \end{array} \right)=[I\quad y] \]

2)解 \(U x=y\) ,需要4次除法、6次乘法和6次加法

\[[U\quad y]=\left( \begin{array}{ccccc} 3 & -7 & -2 & 2 & -9 \\ 0 & -2 & -1 & 2 & -4 \\ 0 & 0 & -1 & 1 & 5 \\ 0 & 0 & 0 & -1 & 1 \\ \end{array} \right)\rightarrow \left( \begin{array}{ccccc} 1 & 0 & 0 & 0 & 3 \\ 0 & 1 & 0 & 0 & 4 \\ 0 & 0 & 1 & 0 & -6 \\ 0 & 0 & 0 & 1 & -1 \\ \end{array} \right) \]

解得 \(x=\left( \begin{array}{c} 3 \\ 4 \\ -6 \\ -1 \\ \end{array} \right)\)

以上过程共需28次算术运算,不包括求\(L\)\(U\)的运算在内.

而一开始就采用消元法,将 \([A \quad x]\) 化简为 \([I \quad x]\),则需要62次运算,因为中间需要对大量分量元素参与。

步骤数

如果对 \(100*100\) 的矩阵进行高斯消元,得到上三角矩阵 \(U\) ,需要多少次操作?规定乘法+减法=一次操作。

对第一列消元大约 \(100^{2}\) 次。按照计算机思想,每一行有n个元素,按照改变一个元素的值算一次运算。

第二列就大约需要 \(99^{2}\) 次 ,以此类推。

\[\text{count}\approx 100^2+99^2+98^2+\text{...}+2^2+1^2 \]

得出规律:

\[\text{count}\approx n^2+(n-1)^2+(n-2)^2+\text{...}+2^2+1^2\approx\frac{n^3}{3} \]

运用积分运算,对 \(x^{2}\) 从1到 \(n\) 积分 就可以算出。

考虑右侧向量 \(b\) ,需要对其进行 \(n^{2}\) 次操作。

置换矩阵

当出现主元为0 的情况下,我们就需要进行行交换。而置换矩阵可以用来进行行交换。

对于 3*3 矩阵,置换矩阵共有6种:

1.单元矩阵(不变): \(\left(\begin{array}{ccc} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \\ \end{array} \right)\)

2.同时交换一次:
\(\left( \begin{array}{ccc} 0 & 1 & 0 \\ 1 & 0 & 0 \\ 0 & 0 & 1 \\ \end{array}\right)\) , \(\left( \begin{array}{ccc} 0 & 0 & 1 \\ 0 & 1 & 0 \\ 1 & 0 & 0 \\ \end{array}\right)\) , \(\left( \begin{array}{ccc} 1 & 0 & 0 \\ 0 & 0 & 1 \\ 0 & 1 & 0 \\ \end{array}\right)\)

3.同时交换两次(想象每行同时向上循环移动一次):
\(\left( \begin{array}{ccc} 0 & 1 & 0 \\ 0 & 0 & 1 \\ 1 & 0 & 0 \\ \end{array}\right)\),\(\left( \begin{array}{ccc} 0 & 0 & 1 \\ 1 & 0 & 0 \\ 0 & 1 & 0 \\ \end{array} \right)\) .

对于4*4矩阵,就共有24种。

置换性质

对3*3的置换求逆,会发现其逆都在这6个矩阵中,比如
\(\left(\begin{array}{ccc} 0 & 1 & 0 \\ 1 & 0 & 0 \\ 0 & 0 & 1 \\ \end{array}\right)\) 就是其本身,\(\left( \begin{array}{ccc} 0 & 1 & 0 \\ 0 & 0 & 1 \\ 1 & 0 & 0 \\ \end{array} \right)\),\(\left( \begin{array}{ccc} 0 & 0 & 1 \\ 1 & 0 & 0 \\ 0 & 1 & 0 \\ \end{array} \right)\) 互为逆。

置换矩阵的逆是其转置。

posted @ 2020-08-15 22:29  懒懒阳光下的午睡  阅读(832)  评论(0编辑  收藏  举报