.线性代数02.矩阵消元
本篇为MIT公开课——线性代数 笔记。
下面我们要用矩阵语言描述消元法。核心的概念是“矩阵变换”.
举例
三未知数三方程
方程组矩阵形式为 \(A X=b\)
它们的系数矩阵 \(A\) 为3x3矩阵
消元
首先明确一个概念:主元(pivot element),一种变元。指在消去过程中起主导作用的元素。
主元就是在矩阵消去过程中,每列的要保留的非零元素,用它可以把该列其他元素消去。
主元行就是主元所在的行。
主元的确定是一种递归思想。
对于 3X3 矩阵:
主元1是第一行第一个元素,依次乘以对应数值对第二行和第三行进行消元;
主元2是第二行第二个元素,对第三行进行消元;
主元3是第三行第三个元素,到达边界。
- 第一步:\((2,1)\)消元
第一行中第一个元素是我们主元1。
利用它我们可以消去第二行中的第一个元素,也就是我们可以消去方程2中的 \(x\) 分量。
我们将第一行乘以3,然后用第二行减去它,主元行1不变,减法的结果在第二行显示,用矩阵形式:
这里消元的位置是 \((2,1)\) 位置,行二列一。 \((2,1)\) 位置得到 \(0\),因此用 \((2,1)\) 作为这一步的代号。
- 第二步:\((3,1)\)消元
把这一列最下面元素也变成0,所以这一步代号是 \((3,1)\) ,行三列1,不过这个位置已经是0了,所以第一行乘以0,再用第三行减去,还是得到原来数值.
- 第三步:\((3,2)\)消元
现在我们方程消去了 \(x\) 分量,只剩下 \(y、z\) 分量
接下来是主元2,它是第二行的第二个元素。
利用它我们可以消去第三行中的 \(y\) 分量。
我们将主元行2乘以2,用第三行减去,可以得到
消元结果
此时,我们通过对矩阵 \(A\) ,就得到了我们三个主元:\(1,2,5\),它们构成的矩阵,记为 \(U\) .即
\(U\) 表示上三角矩阵:主对角线以下都是零的方阵称为上三角矩阵。我们这里消元的目的就是为了得到 \(U\) .
强调一点:主元永远不会是 0.
消元失效情况
失效指的是不能得到三个主元。
失效情况:
消元过程中,遇到主元是0,解决方法是:行交换。
注意点:
- 因为主元永远不可能是0。所以如果0占了主元位置,这时就需要进行行交换,只要该列下面存在非0元素,就可以在下面的行中找寻适当的主元。如果下面也是0就没办法了。
- 注定失效情况:系数矩阵 \(A\) 中第三行第三列元素,使得消元后结果为0.这样使得主元不存在,矩阵不可逆,消元失效。
- 行交换可以解决主元为0的“暂时性失效”,但当底下的行中没有非0元素时,消元就彻底失效。
回代
在解线性方程组时,把系数矩阵主对角线下方元素消零属于消元;把系数矩阵主对角线上方元素消零属于回代。
这里我们就需要引入增广矩阵。
在原本的系数矩阵 \(A\) 右边引入右侧向量
这就是”增广矩阵“。
对增广矩阵按照我们上面例子消元,可以得到
将 \(\left( \begin{array}{c} 2 \\ 6 \\ -10 \\ \end{array} \right)\) 记为 \(c\) .\(c\)是 \(b\) 的最终结果。
将矩阵化为方程组形式:
可以计算出,\(z=-2,y=1,x=2\) ,这就是回代:它是反向求解方程的简单步骤。
回顾乘法
1.从矩阵列角度考虑,矩阵与向量的乘法运算就是”矩阵列的线性组合“。
例如
矩阵乘以一列,结果是一列。
2.从矩阵行角度,就是矩阵行的线性组合。
举例
矩阵乘以一行,结果是一行。
矩阵乘以两行,结果就是两行。依此类推。
注意,进行行变换和列变换,乘法中待变换矩阵乘以的矩阵位置是不同的。放在后面表示列变换,前面是行变换。
消元矩阵
虽然我们之前也在用矩阵,但是计算步骤都没有用到矩阵表示。所以我们要做的就是把消元过程用矩阵表示。
回到第一个例子的第一步开始,取系数矩阵 \(A\)
现在对其进行消元操作。
1.对 \((2,1)\) 消元过程用矩阵描述
这里问题就是,我们需要一个什么样的矩阵,得到行2减去3倍行1的结果,并且保持行1和行3不变?
即
根据矩阵行的乘法运算,
保持行1不变,就是取1个行1,0个行2,0个行3,即矩阵乘以向量 \((1\ 0\ 0)\) ,得到右侧矩阵行1;(矩阵拆分为向量)
同样的,保持行3不变,就是取0个行1,0个行2,1个行3,即矩阵乘以向量 \((0\ 0\ 1)\) ,得到右侧矩阵行2;
中间我们需要进行行2减去3倍行1,就是取 \(-3\) 倍行1,1个行2,0个行3,即矩阵乘以向量 \((-3\ 1\ 0)\),得到右侧矩阵行3;
我们可以得到结论:
如果要检验特定元素,比如检验第二行第三列元素正确性。
只需要看左侧前矩阵行2和后矩阵列3即可,点积,\(-3*1+1*1+1*0=-2\)。可将左侧中右边看成矩阵,左边看成向量,这样就和讲过的乘法一样。
我们将系数矩阵乘以的这个矩阵叫做“初等矩阵”记作 “E”。因为表示位置 \((2,1)\) 上变换,所以记作 \(E_{21}\) .
2.对 \((3,2)\) 消元过程用矩阵描述
这里我们问题就是,需要一个什么样的矩阵,将式子(2)的结果,用行3减去2倍行2,并且保持行1和行2不变?
不再累述。这个矩阵我们记为 \(E_{32}\) 。
矩阵消元到此结束。
综合以上内容,我们可以将矩阵消元简单表示为:
改变乘法顺序,就能得到一次性解决问题的矩阵。矩阵相乘满足结合律。
置换矩阵
假设我们有个2X2矩阵,我们想要交换它的行顺序,其实理解上面的计算,我们就能求出这个矩阵是什么,例如
我们将\(\left( \begin{array}{cc} 0 & 1 \\ 1 & 0 \\ \end{array} \right)\)记为 \(P\) ,代表Permutation(置换)。
如果想交换列顺序,就把矩阵 \(P\) 放在后面相乘。
行变换是矩阵左乘,列变换时矩阵右乘。“左行右列”。
矩阵相乘顺序不能改变。矩阵相乘不满足交换律。
逆矩阵
如果我们想要取消某次消元,回归到原来矩阵,怎么做?
假设原矩阵\(\left( \begin{array}{ccc} \text{1} & \text{0} & \text{0} \\ \text{-3} & \text{1} & \text{0} \\ \text{0} & \text{0} & \text{1} \\ \end{array} \right)\) ,记作 \(E\) ,右侧是单位矩阵,记作 \(I\).
在(2,1)消元中,我们把方程2减去3倍方程1,过程反过来,就是方程2加上3倍方程1。
\(\left( \begin{array}{ccc} 1 & 0 & 0 \\ 3 & 1 & 0 \\ 0 & 0 & 1 \\ \end{array} \right)\)就是我们要的逆矩阵,记作 \(E^{-1}\)