这部分主要是消元法, 也就是我们很熟悉的解方程的那个消元法. 在运用消元法的过程中, 更加深入的体会上次内容的图像, 同时认识到怎样运用这些图像去更好的理解单位矩阵.
这次内容主要使用行图像.
消元法思想
我们解多元一次方程的时候, 都会使用到消元法, 这个方法可以理解为:
- 将方程变为上三角形系统
- 使用回带的方法求解各个未知数
例如:
首先变为上三角形系统: 第二个方程减去第一个方程的三倍(下面方程可以看成一个倒立的三角形):
然后从下到上一个未知数一个未知数的求解. 这个过程大家都很熟悉了, 下面要做的就是用矩阵的方法来实现这个步骤
方程组和矩阵
我们来求一个稍微复杂一点的方程组
写为矩阵 \(\mathbf{A} \vec{x} = \vec{b} \) 的形式:
主元
我们将注意力集中到系数矩阵 \(\mathbf{A}\), 其中左上角的 1 是消元法的第一个主元(Pivot 1).
主元: 使用消元法的行的第一个非零元素
消元
首先, 将第一列除了主元的元素全都变成0. 方法就是熟悉的消元法: 第一行不变, 第二行减去第一行的三倍, 第三行在这个例子中不需要变:
上面的 \((2,1)\) 是标记要消去的是第二行第一列的那一项.
然后类似的方法, 消去第二个主元, 得到一个上三角矩阵\(\mathbf{U}\):
回带求解
这个时候我们需要使用增广矩阵来求解, 对于方程(3)和(4)来说, 其增广矩阵为:
也就是将矩阵 \(\mathbf{A}\) 和向量 \(\vec{b}\) 拼接起来的矩阵. 在使用消元法求解的时候, 使用增广矩阵就可以方便的求解:
这样一来, 就可以自后向前, 先求出 z, 再求 y, 最后求得 x.
矩阵与消元
向量与矩阵的乘法
上次内容已经介绍过行图像和列图像的内容. 这里再强调一下.
\(\mathbf{A} \times \overrightarrow{列向量x}\) 产生一个列向量. 新产生的列向量的每一项是 \(\mathbf{A}\) 的列在 \(\overrightarrow{列向量x}\) 作用下的线性组合
\(\overrightarrow{行向量x} \times \mathbf{A}\) 产生一个行向量. 新产生的行向量的每一项是 \(\mathbf{A}\) 的行在 \(\overrightarrow{行向量x}\) 作用下的线性组合
单位矩阵
根据上面的回顾, 我们来看下面这个运算:
看起来什么都没有变是吗? 我们仔细看就会发现, 最后结果列向量的第一项只受 \([1, 0, 0]^T\) 的影响, 而这个影响就是列向量 \(\vec{x}\) 的第一项. 其他项影响可以图示为:
列向量乘以这个特殊的矩阵后没有发生变化, 这个特殊的矩阵就是单位矩阵, 记为 \(\mathbf{I}\). 同样, 行向量乘以单位矩阵也没有变化
消元矩阵
有了单位矩阵的知识储备, 我看再来看 式(5). 我把它重写如下:
我们可以通过将第一个矩阵乘上一个什么矩阵, 成为后面那个矩阵吗?
首先注意到, 第一行和最后一行没有变化, 那么根据上面单位矩阵的讨论, 暂时可以写为:
现在剩下的工作是怎么样实现第二行减去第一行的三倍: \(-3 \times 第一行 + 第二行\)
这个时候, 根据 式(10), (12) 行向量的作用, 剩下的未知数第一个是对第一行的操作(乘以 -3), 第二个是对第二行的操作(直接复制), 第三个是对第三行的操作(不存在影响). 那么剩下的未知部分可以写为: (-3, 1, 0), 可以得到:
下一步就是对第三行操作了, 同样思路, 下面要做的是第三行减去第二行的两倍, 即:
将 \(\mathbf{E_{32}}\mathbf{E_{21}}\) 看做一个向量 \(\mathbf{E}\), 这个就是消元矩阵
逆矩阵
我们刚才考虑的是怎样通过消元矩阵, 使得 \(\mathbf{A}\) 变成 \(\mathbf{U}\). 那么如何使得 \(\mathbf{E}\) 变成 \(\mathbf{A}\) 呢?
根据 式(9) ~ (12), 我们应该可以归纳出:
- 左乘变换矩阵行变换
- 右乘变换矩阵列变换
那我们现在就考虑一个 \(\mathbf{E_{21}}\) 复原的问题. 它的作用是第二行减去第一行的三倍, 那么其反作用就是第二行加上第一行的三倍
这个式子就是
这个 \(\mathbf{E_{21}^{-1}}\) 就是 \(\mathbf{E_{21}^{-1}}\) 的逆矩阵了.