矩阵论 - 2 - 矩阵消元

矩阵消元

消元(Elimination)法是计算机软件在求解线性方程组时最常用的方法。只要矩阵\(A\) 可逆,它就能找到\(Ax = b\)的解。

消元法

对于三元方程组\(\begin{cases}x&+2y&+z&=2\\3x&+8y&+z&=12\\&\ \ \ 4y&+z&=2\end{cases}\),对应的矩阵形式\(Ax=b\)\(\begin{bmatrix}1&2&1\\3&8&1\\0&4&1\end{bmatrix}\begin{bmatrix}x\\y\\z\end{bmatrix}=\begin{bmatrix}2\\12\\2\end{bmatrix}\)

  1. 在第二个方程中消去\(x\)项。下划线的元素为第一步的主元(pivot):

    \(\begin{bmatrix}\underline{1}&2&1\\3&8&1\\0&4&1\end{bmatrix}\xrightarrow{row_2-3row_1}\begin{bmatrix}\underline{1}&2&1\\0&2&-2\\0&4&1\end{bmatrix}\)

  2. 在第三个方程中消去\(y\)项,现在第二行第一个非零元素成为了第二个主元:

    \(\begin{bmatrix}\underline{1}&2&1\\0&\underline{2}&-2\\0&4&1\end{bmatrix}\xrightarrow{row_3-2row_2}\begin{bmatrix}\underline{1}&2&1\\0&\underline{2}&-2\\0&0&\underline{5}\end{bmatrix}\)

  3. 注意到第三行消元过后仅剩一个非零元素,所以它就成为第三个主元。做到这里就算消元完成了。

消元失效的情形:

  1. 主元不能为零;
  2. 如果在消元时遇到主元位置为零,则需要交换行,使主元不为零;
  3. \(A\)要可逆,如果把第三个方程\(z\)前的系数改成\(-4\),会导致第二步消元时最后一行全部为零,则第三个主元就不存在了,至此消元不能继续进行了。\(\begin{bmatrix}1&2&1\\3&8&1\\0&4&-4\end{bmatrix}\begin{bmatrix}x\\y\\z\end{bmatrix}=\begin{bmatrix}2\\12\\2\end{bmatrix}\)

回带(back substitution):

这时我们在\(A\)矩阵后面加上\(b\)向量写成增广矩阵(augmented matrix)的形式:\(\left[\begin{array}{c|c}A&b\end{array}\right]=\left[\begin{array}{ccc|c}1&2&1&2\\3&8&1&12\\0&4&1&2\end{array}\right]\to\left[\begin{array}{ccc|c}1&2&1&2\\0&2&-2&6\\0&4&1&2\end{array}\right]\to\left[\begin{array}{ccc|c}1&2&1&2\\0&2&-2&6\\0&0&5&-10\end{array}\right]\)

此时方程组变为\(\begin{cases}x&+2y&+z&=2\\&2y&-2z&=6\\&&5z&=-10\end{cases}\),解出第三个方程组再往回带即可。

消元矩阵

从列视图来看矩阵乘以向量,即有三个列向量的矩阵乘以另一个向量,按列的线性组合可以写作\(\Bigg[v_1\ v_2\ v_3\Bigg]\begin{bmatrix}3\\4\\5\end{bmatrix}=3v_1+4v_2+5v_3\)

用矩阵乘法表示行操作,则有\(\begin{bmatrix}1&2&7\end{bmatrix}\begin{bmatrix}&row_1&\\&row_2&\\&row_3&\end{bmatrix}=1row_1+2row_2+7row_3\)

用于消去第\(m\)行第\(n\)列项的消去矩阵记为\(E_{mn}\)

列操作:第i列乘法系数t 加到第j列 ≈ 对目标矩阵右乘Eij(t)

\(\begin{bmatrix}1&0&0\\0&1&0\\0&0&1\end{bmatrix}\xrightarrow{C_1*t+C_2}\begin{bmatrix}1&t&0\\0&1&0\\0&0&1\end{bmatrix} = E_{12}(t)\)

行操作 第j行乘法系数t 加到第i行 ≈ 对目标矩阵左乘Eij(t)

\(\begin{bmatrix}1&0&0\\0&1&0\\0&0&1\end{bmatrix}\xrightarrow{R_2*t+R_1}\begin{bmatrix}1&t&0\\0&1&0\\0&0&1\end{bmatrix} = E_{12}(t)\)

  1. 将第二行改成\(row_2-3row_1\),其余两行不变,则有\(\begin{bmatrix}1&0&0\\-3&1&0\\0&0&1\end{bmatrix}\begin{bmatrix}1&2&1\\3&8&1\\0&4&1\end{bmatrix}=\begin{bmatrix}1&2&1\\0&2&-2\\0&4&1\end{bmatrix}\),记为\(E_{21}(-3)\)
  2. 将第三行改成\(row_2-3row_1\),即将第三行第二个元素变为零,则\(\begin{bmatrix}1&0&0\\0&1&0\\0&-2&1\end{bmatrix}\begin{bmatrix}1&2&1\\0&2&-2\\0&4&1\end{bmatrix}=\begin{bmatrix}1&2&1\\0&2&-2\\0&0&5\end{bmatrix}\),记为\(E_{32}(-2)\)
  3. 综合上诉2步,即\(E_{32}(E_{21}A)=U\),也就是说如果我们想从\(A\)矩阵直接得到\(U\)矩阵的话,只需要将\(A\)左乘上\((E_{32}E_{21})\)即可。(矩阵乘法满足结合率,不满足交换律)

置换矩阵(permutation matrix):例如\(\begin{bmatrix}0&1\\1&0\end{bmatrix}\begin{bmatrix}a&b\\c&d\end{bmatrix}=\begin{bmatrix}c&d\\a&b\end{bmatrix}\),置换矩阵将原矩阵的两行做了互换。矩阵的初等变换中左乘行操作,右乘列操作。

Note that matrix multiplication is not commutative: \(PA \neq AP\).

通过初等变换能够将\(A\)通过行变换写成\(U\),那么如何从\(U\)再变回\(A\)

这就是求消元的逆运算。对某些“坏”矩阵,并没有逆()。

\(E_{21}(-3)\)为例,什么矩阵可以取消这次行变换?转换为数学符号,为:

\(\Bigg[\quad ?\quad \Bigg]\begin{bmatrix}1&0&0\\-3&1&0\\0&0&1\end{bmatrix}=\begin{bmatrix}1&0&0\\0&1&0\\0&0&1\end{bmatrix}\)

这次变换是从第二行中减去三倍的第一行,那么其逆变换就是给第二行加上三倍的第一行,所以逆矩阵就是\(\begin{bmatrix}1&0&0\\3&1&0\\0&0&1\end{bmatrix}\)

把矩阵\(E\)的逆记作\(E^{-1}\),所以有\(E^{-1}E=I\)

其他求解逆矩阵的方法:

写出增广矩阵\(\begin{bmatrix}A|I\end{bmatrix}\),即\(A\)右侧放置一个同阶的单位矩阵\(I\),得到一个新矩阵。然后做矩阵初等变化,直至有\(\begin{bmatrix}I|A^{-1}\end{bmatrix}\)

reference

[1] textbook

[2] mit18.06学习笔记

posted @ 2021-10-07 16:41  zju_cxl  阅读(196)  评论(0编辑  收藏  举报