自在学

我们与你共同进步

  • 分类课程
  • 文章
  • 工作台
  • 订阅

  • 关于我们
  • 隐私政策
  • 使用条款

探索

  • 分类课程
  • 文章
  • 工作台
  • 订阅

网站信息

  • 关于我们
  • 隐私政策
  • 使用条款

加入社区

自在学学习社区微信二维码

微信扫码,交流学习

株洲市自在学教育科技有限公司© 2025 - 2026 版权所有

© 2025 - 2026 株洲市自在学教育科技有限公司 版权所有

湘公网安备43020302000292号|湘ICP备2025148919号-1
分类课程工作台文章订阅
分类课程工作台文章价格

线性代数 I

  1. 01线性代数研究什么:方程、向量与变换
  2. 02向量与线性组合
  3. 03矩阵与线性方程组
  4. 04高斯消元与阶梯形
  5. 05矩阵运算与逆矩阵
  6. 06子空间、张成、线性无关、基与维数
  7. 07四个基本子空间与秩-零化度
  8. 08线性变换与矩阵
  9. 09行列式:面积、体积与可逆性
  10. 10特征值、特征向量与对角化
  11. 11正交、投影与最小二乘
  12. 12奇异值分解与综合应用
正在加载课程章节内容
课程数学线性代数 I高斯消元与阶梯形

高斯消元与阶梯形

上一章把线性方程组压缩成了一个短句:Ax=bAx=bAx=b。这个写法很干净,但它还没有告诉我们怎样把 xxx 找出来。

这一章就来做这件事。我们的办法有点像整理一张被反复涂改的草稿:每次只做一个能撤销的动作,把不需要的未知数逐列消掉,最后让方程组排成“楼梯”。到了那一步,唯一解、无解还是无穷多解,不用猜,矩阵会自己说出来。

这套方法叫高斯消元。真正值得理解的不是操作顺序,而是背后的原则:式子可以换一种写法,解集不能换。


从 Ax=bAx=bAx=b 回到方程本身

先看一个两元方程组:

{x+y=42x−y=2\begin{cases} x+y=4\\ 2x-y=2 \end{cases}{x+y=42x−y=2​

如果把两个方程画成直线,它们交在 (2,2)(2,2)(2,2)。所谓“解这个方程组”,就是找出同时落在两条直线上的点。

现在把第二个方程减去第一个方程的 222 倍:

(2x−y)−2(x+y)=2−2×4(2x-y)-2(x+y)=2-2\times4(2x−y)−2(x+y)=2−2×4

整理后得到:

−3y=−6-3y=-6−3y=−6

新方程看起来和原来的第二个方程完全不同,但它和第一个方程配在一起时,公共解仍是 (2,2)(2,2)(2,2)。原因不神秘:如果一个点同时满足原来的两个方程,那么它当然也满足“第二式减去第一式的 222 倍”;反过来,如果它满足第一式和这个新方程,把第一式的 222 倍加回去,就能恢复原来的第二式。

这就是行变换能够工作的根基:我们不是随意改方程,而是在用已有方程重新表达同一批条件。

为什么“能撤销”就能保护解集

把方程组中的第 iii 行记成 RiR_iRi​。高斯消元只允许三种初等行变换:

行变换记号撤销方法
交换两行Ri↔RjR_i\leftrightarrow R_jRi​↔Rj​再交换一次
一行乘非零数Ri←cRi, c≠0R_i\leftarrow cR_i,\ c\neq0Ri​←cRi​, c=0再乘 1/c1/c1/c
一行加上另一行的倍数Ri←Ri+cRj, i≠jR_i\leftarrow R_i+cR_j,\ i\neq jRi​←Ri​+cRj​, i=j再减去 cRjcR_jcRj​

三栏中文信息图,展示换行、非零倍乘和倍加三种初等行变换,以及每种变换如何反向恢复。

三种操作都能反向做回来,因此变换前后的方程组拥有同一个解集。

交换两行只是调整方程的阅读顺序。某行乘非零数,相当于把等式两边按同一比例放大或缩小。第三种操作稍微绕一点,但只要提供倍数的那一行仍然保留,就能把加进去的部分原样减回去。

一行不能乘以 000。这样做会把一条方程直接抹成 0=00=00=0,而原本不满足这条方程的向量也可能混进解集。行变换允许我们改写条件,却不允许删除条件。

增广矩阵中的竖线不是计算边界

一般的三元方程组可以写成增广矩阵:

[a11a12a13b1a21a22a23b2a31a32a33b3]\left[ \begin{array}{ccc|c} a_{11}&a_{12}&a_{13}&b_1\\ a_{21}&a_{22}&a_{23}&b_2\\ a_{31}&a_{32}&a_{33}&b_3 \end{array} \right]​a11​a21​a31​​a12​a22​a32​​a13​a23​a33​​b1​b2​b3​​​

竖线左边来自 AAA,右边来自 bbb。它只是提醒我们“这里开始是常数列”,不是一道不能越过的墙。对方程两边做同一个操作,翻译到增广矩阵里,就是整行都要变。

例如:

R2←R2−2R1R_2\leftarrow R_2-2R_1R2​←R2​−2R1​

意味着第二行每个位置都要减去第一行对应位置的 222 倍,最后一个常数也不例外。


消元到底在消什么

第一次看到“把下面的数消成 000”,很容易以为高斯消元只是追求矩阵整齐。其实那些 000 是在切断变量之间的纠缠。

假设第一行和第二行都含有 x1x_1x1​:

a11x1+a12x2+⋯+a1nxn=b1a21x1+a22x2+⋯+a2nxn=b2\begin{aligned} a_{11}x_1+a_{12}x_2+\cdots+a_{1n}x_n&=b_1\\ a_{21}x_1+a_{22}x_2+\cdots+a_{2n}x_n&=b_2 \end{aligned}a11​x1​+a12​x2​+⋯+a1n​xn​a21​x1​+a22​x2​+⋯+a2n​xn​​=b1​=b2​​

只要 a11≠0a_{11}\neq0a11​=0,用第一行减掉第二行中的 x1x_1x1​ 项并不难:

R2←R2−a21a11R1R_2\leftarrow R_2-\frac{a_{21}}{a_{11}}R_1R2​←R2​−a11​a21​​R1​

因为第二行第一项会变成:

a21−a21a11a11=0a_{21}-\frac{a_{21}}{a_{11}}a_{11}=0a21​−a11​a21​​a11​=0

这一步的目的不是制造一个好看的 000,而是让第二个方程以后不再讨论 x1x_1x1​。同样地,我们再用第二行处理它下面的 x2x_2x2​,让第三行不再讨论 x1,x2x_1,x_2x1​,x2​。变量一层层减少,最后一行往往只剩一个未知数,于是回代就有了起点。

主元是消元的支点

每一轮消元都要选一个非零数作为支点。这个数叫主元,它所在的行叫主元行,所在的列叫主元列。

如果当前主元是 ajja_{jj}ajj​,要消去它下方第 iii 行的 aija_{ij}aij​,使用的倍数是:

ℓij=aijajj\ell_{ij}=\frac{a_{ij}}{a_{jj}}ℓij​=ajj​aij​​

随后做:

Ri←Ri−ℓijRjR_i\leftarrow R_i-\ell_{ij}R_jRi​←Ri​−ℓij​Rj​

这里最容易忽略的是“为什么先选主元”。因为消元倍数要除以主元,主元必须非零;同时,这一行还要继续保留,供下面所有行使用。

候选主元是 000,先换行

来看这个增广矩阵:

[024317]\left[ \begin{array}{cc|c} 0&2&4\\ 3&1&7 \end{array} \right][03​21​47​]

左上角是 000,不能拿它去消元,更不能拿别的数除以它。但第一列下面有一个 333,所以交换两行:

R1↔R2R_1\leftrightarrow R_2R1​↔R2​

得到:

[317024]\left[ \begin{array}{cc|c} 3&1&7\\ 0&2&4 \end{array} \right][30​12​74​]

现在 333 和 222 都能成为主元,回代也有了清楚的顺序。

如果当前列从当前行往下全是 000,那就不是“算法坏了”,而是这一列提供不了新的主元。保留这些 000,向右找下一列即可。后面我们会看到,这种被跳过的变量列正是自由变量出现的地方。

向前消元的完整路线

从最左边还没处理的列开始,在当前行及其下方寻找非零数。找到后把它换到当前行,选作主元;整列都找不到,就跳到右边一列。

用主元行消去主元下方的所有数。每次操作都改完整一行,目的是让下面的方程不再含有这个主元变量。

把注意力移到主元的右下方,重复找主元和向下消元。新主元必须出现在上一主元的右边,楼梯形状由此形成。

得到阶梯形后,先检查有没有矛盾行。没有矛盾时,再从最下面的非零行开始回代,或者继续向上消元得到行最简形。


阶梯形和行最简形分别告诉我们什么

一个矩阵处于阶梯形,需要满足三件事:

  1. 所有非零行都在零行上方;
  2. 每个非零行的第一个非零数,都在上一行主元的右边;
  3. 每个主元下方都是 000。

例如:

[2−1034051−270006−100000]\left[ \begin{array}{cccc|c} 2&-1&0&3&4\\ 0&5&1&-2&7\\ 0&0&0&6&-1\\ 0&0&0&0&0 \end{array} \right]​2000​−1500​0100​3−260​47−10​​

主元依次位于第 111、第 222、第 444 列,位置像楼梯一样向右下方移动。第 333 个未知数所在列没有主元,所以它不会在任何一行里成为“第一个要解出的变量”。

阶梯形已经足够解题

阶梯形的最后一个非零方程只含最后几个变量。先从那里求出最靠后的主元变量,再把结果代回上一行,这就是回代。

把一个上三角系统写成:

{u11x1+u12x2+u13x3=c1u22x2+u23x3=c2u33x3=c3\begin{cases} u_{11}x_1+u_{12}x_2+u_{13}x_3=c_1\\ u_{22}x_2+u_{23}x_3=c_2\\ u_{33}x_3=c_3 \end{cases}⎩⎨⎧​u11​x1​+u12​x2​+u13​x3​=c1​u22​x2​+u23​x3​=c2​u33​x3​=c3​​

只要三个主元 u11,u22,u33u_{11},u_{22},u_{33}u11​,u22​,u33​ 都非零,就可以从底部开始:

x3=c3u33x_3=\frac{c_3}{u_{33}}x3​=u33​c3​​

接着求 x2x_2x2​,最后求 x1x_1x1​。顺序不能倒过来,因为第一行还缠着三个未知数,最后一行却只剩一个。

上三角方程组从最后一行先求出 z,再逐层向上代回求 y 和 x 的中文教学图。

回代从最下面的主元开始。每向上一行,已经求出的变量就少制造一个未知数。

行最简形把关系直接摊开

行最简形先要是阶梯形,还要再满足两个条件:

  1. 每个主元都等于 111;
  2. 主元所在列除了这个 111,其余位置全是 000。

从阶梯形得到行最简形,要先把主元缩放成 111,再从右往左向上消元。向前消元是为了建立楼梯,向上消元是为了清空主元上方,让每个主元变量单独站出来。

例如:

[111601−1−100−1−3]\left[ \begin{array}{ccc|c} 1&1&1&6\\ 0&1&-1&-1\\ 0&0&-1&-3 \end{array} \right]​100​110​1−1−1​6−1−3​​

先把第三行乘以 −1-1−1,再依次向上消元:

R3←−R3,R2←R2+R3,R1←R1−R2−R3R_3\leftarrow -R_3, \qquad R_2\leftarrow R_2+R_3, \qquad R_1\leftarrow R_1-R_2-R_3R3​←−R3​,R2​←R2​+R3​,R1​←R1​−R2​−R3​

得到:

[100101020013]\left[ \begin{array}{ccc|c} 1&0&0&1\\ 0&1&0&2\\ 0&0&1&3 \end{array} \right]​100​010​001​123​​

现在不用回代,右端常数就是答案。阶梯形通常更省手算,行最简形通常更方便读出参数关系。它们没有谁“更正确”,只是完成程度不同。

同一个矩阵可以通过不同的合法路线得到不同的阶梯形,但最后的行最简形是唯一的。手算时不必追求和别人一模一样的中间过程,只需保证每步合法、最终结果一致。


完整例题:唯一解怎样被一层层剥出来

解方程组:

{x+y+z=62x+3y+z=11x−y+2z=5\begin{cases} x+y+z=6\\ 2x+3y+z=11\\ x-y+2z=5 \end{cases}⎩⎨⎧​x+y+z=62x+3y+z=11x−y+2z=5​

先写增广矩阵:

[1116231111−125]\left[ \begin{array}{ccc|c} 1&1&1&6\\ 2&3&1&11\\ 1&-1&2&5 \end{array} \right]​121​13−1​112​6115​​

第一行第一列的 111 很适合做主元。我们用它消掉下面的 222 和 111:

R2←R2−2R1,R3←R3−R1R_2\leftarrow R_2-2R_1, \qquad R_3\leftarrow R_3-R_1R2​←R2​−2R1​,R3​←R3​−R1​

得到:

[111601−1−10−21−1]\left[ \begin{array}{ccc|c} 1&1&1&6\\ 0&1&-1&-1\\ 0&-2&1&-1 \end{array} \right]​100​11−2​1−11​6−1−1​​

第一列下方已经清零。也就是说,后两行不再含 xxx,接下来只需整理 y,zy,zy,z 的关系。

第二行第二列的 111 是下一个主元。用它消掉第三行的 −2-2−2:

R3←R3+2R2R_3\leftarrow R_3+2R_2R3​←R3​+2R2​

得到阶梯形:

[111601−1−100−1−3]\left[ \begin{array}{ccc|c} 1&1&1&6\\ 0&1&-1&-1\\ 0&0&-1&-3 \end{array} \right]​100​110​1−1−1​6−1−3​​

第三行只剩 zzz,向前消元的任务已经完成。

从最后一行回代。−z=−3-z=-3−z=−3 给出 z=3z=3z=3;第二行 y−z=−1y-z=-1y−z=−1 给出 y=2y=2y=2;第一行 x+y+z=6x+y+z=6x+y+z=6 给出 x=1x=1x=1。

因此:

(x,y,z)=(1,2,3)(x,y,z)=(1,2,3)(x,y,z)=(1,2,3)

别急着收笔。把答案代回原方程,而不是代回已经化简的矩阵:

1+2+3=61+2+3=61+2+3=6 2×1+3×2+3=112\times1+3\times2+3=112×1+3×2+3=11 1−2+2×3=51-2+2\times3=51−2+2×3=5

三条原方程都成立,所以这个解通过了验算。三个变量列都有主元,没有任何变量可以自由取值,因此解只有这一个。


完整例题:矛盾行怎样宣布无解

看这个方程组:

{x+y−z=12x+2y−2z=3x−y+z=0\begin{cases} x+y-z=1\\ 2x+2y-2z=3\\ x-y+z=0 \end{cases}⎩⎨⎧​x+y−z=12x+2y−2z=3x−y+z=0​

它的增广矩阵是:

[11−1122−231−110]\left[ \begin{array}{ccc|c} 1&1&-1&1\\ 2&2&-2&3\\ 1&-1&1&0 \end{array} \right]​121​12−1​−1−21​130​​

用第一行消去第二行第一列:

R2←R2−2R1R_2\leftarrow R_2-2R_1R2​←R2​−2R1​

得到:

[11−1100011−110]\left[ \begin{array}{ccc|c} 1&1&-1&1\\ 0&0&0&1\\ 1&-1&1&0 \end{array} \right]​101​10−1​−101​110​​

第二行翻译回方程就是:

0x+0y+0z=10x+0y+0z=10x+0y+0z=1

也就是 0=10=10=1。任何 x,y,zx,y,zx,y,z 都不可能让它成立,所以可以立刻停止:原方程组无解。

从原方程也能看见冲突。第二个方程左边恰好是第一个方程左边的 222 倍;如果第一个方程右边是 111,第二个右边就必须是 222,可题目偏偏要求它等于 333。矛盾不是消元制造出来的,消元只是把原本藏着的矛盾翻到了明面上。

看到矛盾行就应先判定无解。即使别的变量列没有主元,也不能再说“有自由变量,所以无穷多解”。没有任何解时,自由取值根本无从谈起。


完整例题:自由变量怎样带来无穷多解

再看一个四元方程组:

{x1+x2+2x4=42x1+3x2+x3+3x4=10−x1+x2+3x3−x4=5\begin{cases} x_1+x_2+2x_4=4\\ 2x_1+3x_2+x_3+3x_4=10\\ -x_1+x_2+3x_3-x_4=5 \end{cases}⎩⎨⎧​x1​+x2​+2x4​=42x1​+3x2​+x3​+3x4​=10−x1​+x2​+3x3​−x4​=5​

写成增广矩阵:

[11024231310−113−15]\left[ \begin{array}{cccc|c} 1&1&0&2&4\\ 2&3&1&3&10\\ -1&1&3&-1&5 \end{array} \right]​12−1​131​013​23−1​4105​​

先向前消元

第一轮用 R1R_1R1​ 消去第一列下方:

R2←R2−2R1,R3←R3+R1R_2\leftarrow R_2-2R_1, \qquad R_3\leftarrow R_3+R_1R2​←R2​−2R1​,R3​←R3​+R1​

得到:

[11024011−1202319]\left[ \begin{array}{cccc|c} 1&1&0&2&4\\ 0&1&1&-1&2\\ 0&2&3&1&9 \end{array} \right]​100​112​013​2−11​429​​

第二轮用 R2R_2R2​ 消去第三行第二列:

R3←R3−2R2R_3\leftarrow R_3-2R_2R3​←R3​−2R2​

得到阶梯形:

[11024011−1200135]\left[ \begin{array}{cccc|c} 1&1&0&2&4\\ 0&1&1&-1&2\\ 0&0&1&3&5 \end{array} \right]​100​110​011​2−13​425​​

主元在第 111、第 222、第 333 列,第 444 列没有主元。因此 x1,x2,x3x_1,x_2,x_3x1​,x2​,x3​ 是主元变量,x4x_4x4​ 是自由变量。

让自由变量先开口

“自由”不是说这个变量可以被忽略,而是说方程组没有把它锁定成某个固定数字。令:

x4=t,t∈Rx_4=t, \qquad t\in\mathbb Rx4​=t,t∈R

从第三行开始回代:

x3+3t=5x_3+3t=5x3​+3t=5

所以:

x3=5−3tx_3=5-3tx3​=5−3t

第二行给出:

x2+x3−t=2x_2+x_3-t=2x2​+x3​−t=2

代入 x3=5−3tx_3=5-3tx3​=5−3t:

x2=−3+4tx_2=-3+4tx2​=−3+4t

第一行给出:

x1+x2+2t=4x_1+x_2+2t=4x1​+x2​+2t=4

因此:

x1=7−6tx_1=7-6tx1​=7−6t

完整参数解是:

x1=7−6tx2=−3+4tx3=5−3tx4=tt∈R\begin{aligned} x_1&=7-6t\\ x_2&=-3+4t\\ x_3&=5-3t\\ x_4&=t \end{aligned} \qquad t\in\mathbb Rx1​x2​x3​x4​​=7−6t=−3+4t=5−3t=t​t∈R

也可以把它写成更能看出结构的向量形式:

[x1x2x3x4]=[7−350]+t[−64−31],t∈R\begin{bmatrix} x_1\\x_2\\x_3\\x_4 \end{bmatrix} = \begin{bmatrix} 7\\-3\\5\\0 \end{bmatrix} +t \begin{bmatrix} -6\\4\\-3\\1 \end{bmatrix}, \qquad t\in\mathbb R​x1​x2​x3​x4​​​=​7−350​​+t​−64−31​​,t∈R

第一个向量是令 t=0t=0t=0 时得到的一组具体解;第二个向量描述了 ttt 每增加 111,整个解向量怎样移动。以后学习零空间时,我们会再次看到这种“一个固定解加上一条自由方向”的结构。

验算参数解,不要只验一个参数

把参数表达式代回第一条原方程:

(7−6t)+(−3+4t)+2t=4(7-6t)+(-3+4t)+2t=4(7−6t)+(−3+4t)+2t=4

含 ttt 的部分抵消,恒等于 444。第二条原方程得到:

2(7−6t)+3(−3+4t)+(5−3t)+3t=102(7-6t)+3(-3+4t)+(5-3t)+3t=102(7−6t)+3(−3+4t)+(5−3t)+3t=10

第三条原方程得到:

−(7−6t)+(−3+4t)+3(5−3t)−t=5-(7-6t)+(-3+4t)+3(5-3t)-t=5−(7−6t)+(−3+4t)+3(5−3t)−t=5

两式中的 ttt 也都完全抵消。这说明不是“某几个 ttt 碰巧可用”,而是每个实数 ttt 都给出一组解。实数有无穷多个,所以解也有无穷多个。

多个自由变量时,一个变量配一个参数

下面这个阶梯形更适合练习“读矩阵”:

[120−130014−200000]\left[ \begin{array}{cccc|c} 1&2&0&-1&3\\ 0&0&1&4&-2\\ 0&0&0&0&0 \end{array} \right]​100​200​010​−140​3−20​​

主元位于第 111、第 333 列,所以 x2,x4x_2,x_4x2​,x4​ 自由。令 x2=sx_2=sx2​=s、x4=tx_4=tx4​=t,就有:

x1=3−2s+t,x3=−2−4tx_1=3-2s+t, \qquad x_3=-2-4tx1​=3−2s+t,x3​=−2−4t

中文教学图,标出阶梯形增广矩阵的主元列、自由变量列,并把两个自由变量写成参数 s 和 t。

主元变量要由方程求出,自由变量先取参数。两个自由变量对应两个彼此独立的可调参数。


三类解怎样从阶梯形里读出来

消元结束后,先别急着数主元。判断顺序只有两步。

先找矛盾行

如果增广矩阵中出现:

[0000d],d≠0\left[ \begin{array}{cccc|c} 0&0&0&0&d \end{array} \right], \qquad d\neq0[0​0​0​0​d​],d=0

它代表 0=d0=d0=d,方程组无解。也可以说,增广列出现了一个系数部分无法配合的主元。

没有矛盾,再看变量列

设方程组共有 nnn 个未知数。

  • 如果每个变量列都有主元,所有变量都能由回代确定,所以有唯一解。
  • 如果至少一个变量列没有主元,就有自由变量。每个自由变量都能任取实数,所以有无穷多解。

三栏中文教学图,通过主元、矛盾行和自由变量对比唯一解、无解与无穷多解。

先查矛盾,再查自由变量。这个顺序可以避开大多数误判。

全零行 0=00=00=0 本身既不代表无穷多解,也不代表无解。它只说明这一行没有提供新的约束。最终是哪一类解,仍要看有没有矛盾行,以及变量列是否都有主元。

方程数量也不能直接决定解的类型。方程比未知数多,可能只是多了重复条件;方程和未知数一样多,也可能出现互相冲突或重复的方程。真正可靠的信息来自消元后的主元和矛盾行。


手算时最容易出错的地方

只改系数,不改常数

例如做 R2←R2−2R1R_2\leftarrow R_2-2R_1R2​←R2​−2R1​,必须连增广线右边一起减。漏掉常数列,相当于左边换了方程,右边却还留在旧题里,得到的已经不是等价系统。

把一个表达式当成行变换

只写 R2−2R1R_2-2R_1R2​−2R1​ 没有说明谁被替换。清楚的写法是:

R2←R2−2R1R_2\leftarrow R_2-2R_1R2​←R2​−2R1​

箭头左边告诉我们“新第二行放回第二行”,第一行保持不动。

在同一批操作里混用新旧行

如果先做:

R2←R2−2R1R_2\leftarrow R_2-2R_1R2​←R2​−2R1​

再做:

R3←R3+R2R_3\leftarrow R_3+R_2R3​←R3​+R2​

第二步里的 R2R_2R2​ 默认是已经更新后的第二行。如果你本来想用旧第二行,就不能把这两步含混地挤在一起。最稳妥的做法是每完成一轮就写出新矩阵。

遇到 000 主元还继续除

候选主元为 000 时先向下找非零数并换行。下面也全为 000,就跳过这一列。除以 000 不是消元步骤,硬做只会让后面所有计算失去意义。

把“出现零行”当成无穷多解

零行只说明有冗余条件。若每个变量列仍有主元,系统照样可能有唯一解;若另有矛盾行,系统仍然无解。

回代正确,却抄错原题

手算过程越长,越容易在一开始抄错符号。最后把答案代回原方程组,可以同时检查计算和抄写。参数解则要做恒等验算,确认参数项在每条原方程中都按要求抵消。


练习

练习一:哪些操作保持解集

判断下面哪些操作一定保持解集不变。

  1. R1↔R3R_1\leftrightarrow R_3R1​↔R3​
  2. R2←−4R2R_2\leftarrow -4R_2R2​←−4R2​
  3. R3←R3+5R1R_3\leftarrow R_3+5R_1R3​←R3​+5R1​
  4. R2←0R2R_2\leftarrow0R_2R2​←0R2​
  5. 只把增广矩阵左侧的 R1R_1R1​ 乘以 222,右端常数不变

第 1、2、3 个操作保持解集。交换可以再交换回来;乘以 −4-4−4 可以再乘以 −1/4-1/4−1/4;加上 5R15R_15R1​ 可以再减去 5R15R_15R1​。第 4 个操作会抹掉一条方程。第 5 个操作没有对等式两边做同样的事,已经改成了另一个方程组。

练习二:消元、回代并验算

解方程组:

{x+2y−z=22x+5y+z=9−x−y+2z=1\begin{cases} x+2y-z=2\\ 2x+5y+z=9\\ -x-y+2z=1 \end{cases}⎩⎨⎧​x+2y−z=22x+5y+z=9−x−y+2z=1​

增广矩阵为:

[12−122519−1−121]\left[ \begin{array}{ccc|c} 1&2&-1&2\\ 2&5&1&9\\ -1&-1&2&1 \end{array} \right]​12−1​25−1​−112​291​​

先做:

R2←R2−2R1,R3←R3+R1R_2\leftarrow R_2-2R_1, \qquad R_3\leftarrow R_3+R_1R2​←R2​−2R1​,R3​←R3​+R1​

得到:

[12−1201350113]\left[ \begin{array}{ccc|c} 1&2&-1&2\\ 0&1&3&5\\ 0&1&1&3 \end{array} \right]​100​211​−131​253​​

再做:

R3←R3−R2R_3\leftarrow R_3-R_2R3​←R3​−R2​

得到阶梯形:

[12−12013500−2−2]\left[ \begin{array}{ccc|c} 1&2&-1&2\\ 0&1&3&5\\ 0&0&-2&-2 \end{array} \right]​100​210​−13−2​25−2​​

回代得 z=1z=1z=1、y=2y=2y=2、x=−1x=-1x=−1,所以:

(x,y,z)=(−1,2,1)(x,y,z)=(-1,2,1)(x,y,z)=(−1,2,1)

代回原方程:−1+4−1=2-1+4-1=2−1+4−1=2,−2+10+1=9-2+10+1=9−2+10+1=9,1−2+2=11-2+2=11−2+2=1,三式都成立。

练习三:找出无解的原因

判断下面方程组的解,并说明是哪一步暴露了结论。

{x−2y=32x−4y=8\begin{cases} x-2y=3\\ 2x-4y=8 \end{cases}{x−2y=32x−4y=8​

对第二行做:

R2←R2−2R1R_2\leftarrow R_2-2R_1R2​←R2​−2R1​

增广矩阵变成:

[1−23002]\left[ \begin{array}{cc|c} 1&-2&3\\ 0&0&2 \end{array} \right][10​−20​32​]

第二行表示 0=20=20=2,所以无解。原式中第二个方程的左边是第一个方程左边的 222 倍,但右边 888 不是 333 的 222 倍,这就是冲突来源。

练习四:写出两个参数的解

把下面的阶梯形增广矩阵写成参数解和向量形式:

[1−2034001−1500000]\left[ \begin{array}{cccc|c} 1&-2&0&3&4\\ 0&0&1&-1&5\\ 0&0&0&0&0 \end{array} \right]​100​−200​010​3−10​450​​

主元在第 111、第 333 列,所以 x2,x4x_2,x_4x2​,x4​ 是自由变量。令:

x2=s,x4=tx_2=s, \qquad x_4=tx2​=s,x4​=t

第二行给出 x3−t=5x_3-t=5x3​−t=5,所以 x3=5+tx_3=5+tx3​=5+t。第一行给出 x1−2s+3t=4x_1-2s+3t=4x1​−2s+3t=4,所以 x1=4+2s−3tx_1=4+2s-3tx1​=4+2s−3t。参数解为:

x1=4+2s−3tx2=sx3=5+tx4=ts,t∈R\begin{aligned} x_1&=4+2s-3t\\ x_2&=s\\ x_3&=5+t\\ x_4&=t \end{aligned} \qquad s,t\in\mathbb Rx1​x2​x3​x4​​=4+2s−3t=s=5+t=t​s,t∈R

向量形式为:

[x1x2x3x4]=[4050]+s[2100]+t[−3011],s,t∈R\begin{bmatrix} x_1\\x_2\\x_3\\x_4 \end{bmatrix} = \begin{bmatrix} 4\\0\\5\\0 \end{bmatrix} +s \begin{bmatrix} 2\\1\\0\\0 \end{bmatrix} +t \begin{bmatrix} -3\\0\\1\\1 \end{bmatrix}, \qquad s,t\in\mathbb R​x1​x2​x3​x4​​​=​4050​​+s​2100​​+t​−3011​​,s,t∈R

练习五:从阶梯形继续做到行最简形

把下面的阶梯形化成行最简形:

[21−1301240036]\left[ \begin{array}{ccc|c} 2&1&-1&3\\ 0&1&2&4\\ 0&0&3&6 \end{array} \right]​200​110​−123​346​​

先归一化第三个主元:

R3←13R3R_3\leftarrow \frac13R_3R3​←31​R3​

再用第三行向上消去第三列:

R2←R2−2R3,R1←R1+R3R_2\leftarrow R_2-2R_3, \qquad R_1\leftarrow R_1+R_3R2​←R2​−2R3​,R1​←R1​+R3​

此时矩阵为:

[210501000012]\left[ \begin{array}{ccc|c} 2&1&0&5\\ 0&1&0&0\\ 0&0&1&2 \end{array} \right]​200​110​001​502​​

用第二行消去第一行第二列,再把第一行主元归一化:

R1←R1−R2,R1←12R1R_1\leftarrow R_1-R_2, \qquad R_1\leftarrow \frac12R_1R1​←R1​−R2​,R1​←21​R1​

得到行最简形:

[1005201000012]\left[ \begin{array}{ccc|c} 1&0&0&\frac52\\ 0&1&0&0\\ 0&0&1&2 \end{array} \right]​100​010​001​25​02​​

因此唯一解是 (x,y,z)=(5/2,0,2)(x,y,z)=(5/2,0,2)(x,y,z)=(5/2,0,2)。


从消元走向矩阵运算与逆矩阵

这一章里,我们一直把矩阵当成一张方便修改的方程记录表。现在可以把整条路线压缩成一句话:先对增广矩阵做向前消元,把 AAA 整理成阶梯形;再通过回代,求出满足 Ax=bAx=bAx=b 的 xxx。

如果一个方阵在每个变量列都有主元,那么无论右端 bbb 怎样变化,消元和回代都会把每个变量唯一确定。下一章会换一个视角:把这些行操作看成矩阵运算,并追问能不能用一个矩阵把 Ax=bAx=bAx=b 的过程“倒过来”。这正是逆矩阵出现的地方。

上一章矩阵与线性方程组下一章矩阵运算与逆矩阵