本章是Gilbert Strang的MIT线性代数Linear Algebra公开课中【第八章 求解Ax=b:可解性和解的结构(lecture 8 Solving Ax=b :Row Reduced Form R)】的笔记,参考他在 MIT Linear Algebra课程网站上公开分享的 lecture summary (PDF) & Lecture video transcript (PDF)等文档,整理笔记如下,笔记中的大部分内容是从 MIT Linear Algebra课程网站上的资料中直接粘贴过来的,本人只是将该课程视频中讲述的内容整理为文字形式,前面的章节可在本人的其他博客中找到(此处戳第一章,第二章,第三章,第四章,第五章,第六章,第七章),后面的章节会按照视频顺序不断更新~
lecture 8 Solving Ax = b : Row Reduced Form R
When does Ax=b have solutions x , and how can we describe those solutions?
一. 可解性(Solvability conditions on b)
1. 可解性
——可解性: b 满足什么条件,才能让 Ax=b 有解?(solvability:condition on the right-hand side b )
——有两种描述方法:
-
b 必须属于 A 的列空间(when b is in the column space of A , C(A) ),即 b 必须是 A 各列的线性组合(用列空间描述);
- 如果 A 各行的线性组合得到零行,那么 b 中元素的同样组合也必须为零。
2. 判断可解性的方法
判断可解性的方法( Ax=b 有解的条件):
- 法一:直接看方程组:如果方程组左侧各行的线性组合得到 0 ,那么右侧常数的相同组合必然也等于 0 .
- 法二:对增广矩阵(Augmented matrix)进行消元:如果矩阵 A 的某一行已被完全消除(即变为全零行),那么右侧向量 b 的对应位置元素应该也变为0。
Example 1: 仍以上节课中的 A 为例:
A=⎣⎡1232462682810⎦⎤
-
法一:对应所需求解的方程组 Ax=b ( b=0 )如下:
x1+2x2+2x3+2x4=b12x1+4x2+6x3+8x4=b23x1+6x2+8x3+10x4=b3
显然,矩阵 A 的行三是行二与行一的和,因此,若要方程组有解,右侧需满足 b1+b2=b3 ;
-
法二:此方程组对应的增广矩阵如下:
[Ab]=⎣⎡1232462682810b1b2b3⎦⎤
对增广矩阵进行消元:
⎣⎡1232462682810b1b2b3⎦⎤→⎣⎡100200222244b1b2−2b1b3−3b1⎦⎤→⎣⎡100200220240b1b2−2b1b3−3b1−(b2−2b1)⎦⎤ 即
⎣⎡100200220240b1b2−2b1b3−b1−b2⎦⎤
现在方程三为 0=b3−b1−b2 ,这就是有解条件。
- 综上,两种方法的结果一致;在本例中,只要满足 b1+b2=b3 ,方程组就有解。可见当 b=⎣⎡156⎦⎤ 时,方程组有解。
二. 通解(Complete solution)
求 Ax=b 的所有解(即通解或完全解)步骤:
- 判断方程组是否可解(若可解继续下一步);
- 求方程组 Ax=b 的一个特解(particular solution): xparticular ,即 xp ;
- 求零空间中的所有向量:矩阵 A 的零空间中的所有向量,等效于求 Ax=0 的所有解: xnullspace ,即 xn ;
- 将特解和零空间中的所有向量相加,构成方程组的通解,即: xcomplete=xp+xn 。
1. 特解(A particular solution)
求方程组 Ax=b 的一个特解的简单方法:将所有的自由变量设为 0 (因为自由变量的值可以任取,取 0 简单),然后求解主变量,结果即为特解。
2. 零空间 (Combined with the nullspace)
上节课讲过如何求解零空间: A 的零空间由其special solutions的所有的线性组合构成( Ax=0 的所有解),(令自由变量中有一个是 1 ,其他自由变量取 0 ,然后带回求主变量);
3. 通解(Complete solution)
将特解 xp 与零空间中的向量 xn 相加,即得到方程组 Ax=b 的所有解(即通解或完全解):
xcomplete=xparticular+xnullspace=xp+xn
其中, xp 是特解, xn 是整个零空间,特解加上零空间中的向量即为方程组 Ax=b 的所有解,这是因为: Axp=b , Axn=0 ,可得 A(xp+xn)=b ;即对于方程组某解,将其与零空间内任意向量相加仍为方程组的解,因为零空间内的向量得到的右侧向量为 0 ,故此时右侧 b 不会发生变化,这样就得到方程组的所有解了。
Example 2:
仍继续Example 1中的矩阵 A 且 b=⎣⎡156⎦⎤ ,那么 Ax=b 的所有解是什么?
-
看是否满足有解条件(保证方程组有解):
法一:在Example 1中已经求过其有解条件: b1+b2=b3 ,此时 b=⎣⎡156⎦⎤ ,可见该 b 满足有解条件,方程组有解;
法二:将 b=⎣⎡156⎦⎤ 代入,则增广矩阵消元的最终形式如下:
⎣⎡100200220240130⎦⎤
即最后一个方程成立,满足有解条件。
注:此时只有两个方程,但是未知数有四个,故理论上应该是有一堆解,而不是一个解;
-
求一个特解 xparticular :将所有自由变量设为 0 ,然后解出 Ax=b 中的主变量。
本例中,令自由变量 x2=0,x4=0 ,此时方程组只剩下主列,方程组的具体形式如下:
x1+2x3=12x3=3
回代求解: x3=23,x1=−2 ,即一个特解为 xp=⎣⎢⎢⎡−203/20⎦⎥⎥⎤ ,然后可以代回最初的原方程组进行检验。
-
零空间: Ax=0 的special solutions,即基础解系;自由变量中有一个是 1 ,其他自由变量取 0 ,然后带回求主变量;
上节课已经讲过,本例中的零空间中有两个特解(因为有两个自由变量): ⎣⎢⎢⎡−2100⎦⎥⎥⎤ 和 ⎣⎢⎢⎡20−21⎦⎥⎥⎤ ,则 xn=c1⎣⎢⎢⎡−2100⎦⎥⎥⎤+c2⎣⎢⎢⎡20−21⎦⎥⎥⎤ 为 A 的零空间( Ax=0 的所有special solutions的线性组合);
-
综上,完全解即通解为: xcomplete =xp+xn=⎣⎢⎢⎡−203/20⎦⎥⎥⎤+c1⎣⎢⎢⎡−2100⎦⎥⎥⎤+c2⎣⎢⎢⎡20−21⎦⎥⎥⎤ 。
可见,此时 A 的零空间是 R4 中的两维子空间,并且 Ax=0 的解构成了一个通过 xp 且与之平行的平面。
注:特解不能乘以倍数,因为它要保证右侧等于 b .
4. 几何图形
将所有的解都画出来(plot all solutions x in R4 ):四维图像
—— Ax=b 的解是子空间吗?
——不是(因为它不包含零)
xn=c1⎣⎢⎢⎡−2100⎦⎥⎥⎤+c2⎣⎢⎢⎡20−21⎦⎥⎥⎤ 是子空间,这是 R4 中的二维子空间(有两个参数),是个二维平面(维数表示可以任意选取的自由独立的数字的个数);该二维平面不穿过原点,而是过点 ⎣⎢⎢⎡−203/20⎦⎥⎥⎤ ,即特解 xp ,构成通解 xcomplete 。

三. 秩(Rank)
考虑一个秩为 r 的 m×n 的矩阵 A : r≤n,r≤m 。
秩 = 矩阵的主元的个数;
矩阵 A 共 m 行,主元不可能超过 m 个(最多 m 个),故 r≤m ;又因为矩阵 A 共 n 列,每一列的主元不会超过 1 个,总主元数不超过 n 个,故 r≤n 。
满秩: r 取最大时的情况,存在两种情况:分别对应于 m 值和 n 值,先讨论列满秩:
1. 列满秩(Full column rank): r=n
——列满秩( r=n )时,零空间是什么样的?
—— r=n 意味着每一列都有主元,即主变量有 n 个(一共就 n 个变量),此时所有列都含有主元,没有自由变量,故零空间的维数为: n−r=0 维,即零空间内只有零向量: N(A)=zero vector;综上,列满秩时不需要求零空间;
——列满秩( r=n )对于方程组的解意味着什么?通解是什么样的?
——此时如果方程组有解,那么只有唯一解 xp ,也就是 Ax=b 的全部解为: x=xp ,因为此时没有自由变量可以进行赋值,故只有特解 xp 这一个解,没有别的解,称其为唯一解;(只有 b 刚好是左侧列向量的线性组合时,才有解;即对于 Rm 中的任意向量 b ,只要它不是 A 的各列的线性组合,方程组 Ax=b 就无解)。综上,列满秩时,只有 0 个或者 1 个解。(此时 r=n<m )。另外,已知 r≤m ,又 r=n , 故矩阵的列数 ≤ 行数,此时矩阵的行最简形式一般为: R=[I0] .
在实际应用中,这种各列线性无关的情况很常见。
Example 3:
A=⎣⎢⎢⎡12653111⎦⎥⎥⎤
矩阵 A 的秩为 2,两个列向量的方向不同,其简化行阶梯形式 R 如下:
R=⎣⎢⎢⎡10000100⎦⎥⎥⎤
该矩阵只有两个无关的行,即前两行线性无关(不共线),其他行均是这两行的线性组合。
——此时 Ax=b 是否总有解?
——不是总有解。只有 b 选择的刚好是左侧列向量的线性组合时,才有解;矩阵 A 是列满秩,其两列给出两个主元,其零空间中只有 0 ,因为列之间的线性组合无法产生零列(零零组合不算);这里有四个方程两个未知数。如果恰好 b=⎣⎢⎢⎡4376⎦⎥⎥⎤ ,即 b 是左侧两列的和,那么特解为 xp=[11] ,这是方程组的唯一解。
2. 行满秩(Full row rank): r=m
行满秩时,消元后,每一行都有主元,共有 m 个主元,没有零行,故有 r=m 个主变量;由于一共就 n 个变量,故有 n−r=n−m 个自由变量。( r=m<n )
——右侧向量 b 取什么时, Ax=b 有解?
——行满秩,消元时不会出现零行,因此对 b 没有要求,即对于任意 b , Ax=b 都有解,故必然有解。综上,行满秩时,方程组 Ax=b 总有解,另外由于有 n−m 个自由变量,因此方程组 Ax=0 有 n−m 个special solutions。此时 r=m≤n ,行数 ≤ 列数,则其行最简形式一般为 R=[IF] 。
Example 4: (将Example 2 中的例子转置一下)
A=[13216151]
此时矩阵的秩为 2 ,有两个主元,其行最简如下:
R=[1001−−−−]=[IF]
注意: F 处有值,该部分将构成零空间的special solution;即 R 中的各主列构成单位阵, R 中没有零行,因此秩是2;
3. 行列均满秩(Full row and column rank): r=m=n
Example 5:
A=[1321]
行列均满秩的矩阵一定是方阵,即称为满秩,无需说明是列或者行满秩,因为行等于列,是一回事,此时秩已经达到最大了, r=m=n ,即行列均满秩的矩阵 A 为可逆方阵,其行最简形式 R 是单位阵:
R=[1001]=I
该矩阵的零空间的维数是 0 ,即零空间中只有零向量,同时,方程组 Ax=b 一定有解,且是唯一解;因为 r=m 时,总有解,而 r=n 时,解唯一。
4. 总结(Summary)

注意:第三种情况中的行最简形式 R 不一定就是:前面全是主列、后面全是自由列的形式,即行最简形式不一定就是 [IF] 形式,也有可能主列和自由列穿插着,即 I 和 F 混在一起的。
矩阵的秩决定了方程组解的个数,秩 r 包含了所有信息(除了具体的计算结果)。