当你已经懂得对方程组做行化简,下一步就不应只问“这一题怎样解”,而应问
“全部解究竟有什么结构”。齐次方程组是最适合开始问这个问题的地方,而零
空间正是回答这个问题的语言。
为什么齐次方程组特别
齐次线性方程组的常数项全部都是 0。用矩阵写,就是
Ax=0.
这种情况有一个立刻可见的特点:零向量永远是它的解。
定义
齐次方程组
齐次线性方程组是形如
Ax=0的线性方程组。
其中 x=0 称为平凡解。
真正的问题在于:除了平凡解之外,是否还有非平凡解。
零空间把所有齐次解收集起来
定义
零空间
对实 m×n 矩阵 A,其零空间定义为
N(A)={x∈Rn:Ax=0m}.因此 N(A) 正正就是齐次方程组 Ax=0 的解集。
这个定义把“一些解”变成一个完整的数学对象。你不再只是在列例子,而是在
描述整个集合。
行化简会揭示零空间的形状
要找 N(A),就是解 Ax=0,也就是对增广系统 [A∣0] 做行化简。
主元告诉你哪些变量被决定,自由变量则告诉你剩下多少自由方向。
例题
解一个齐次方程组并描述零空间
令
A=[1224−1−2].要求解 Ax=0,把它行化简:
[1224−1−200]∼[1020−1000].所以方程变成
x1+2x2−x3=0.令 x2=s、x3=t 为自由变量,则
x1=−2s+t.因此
x=−2s+tst=s−210+t101.所以
N(A)=Span⎩⎨⎧−210,101⎭⎬⎫.
这个例子说明:零空间描述的不只是“有没有解”,而是全部解如何被建立出来。
齐次方程组与零空间观看齐次系统如何产生零空间方向,以及一个特解如何平移这些方向,描述 Ax=b 的全部解。
平凡解
齐次系统永远相容,因为 x=0 会给出 A0=0。真正问题是是否还有非零解。
零列保持为零
对 [A|0] 做行化简时,增广零列仍然是零,因此系数矩阵的 RREF 决定齐次解结构。
自由变量成为方向
主元变量由自由变量决定。每次只设定一个自由变量,便得到一个零空间方向向量。
零空间
N(A)={x:Ax=0} 不是一些例子的清单,而是整个齐次解集,通常写成方向向量的所有线性组合。
由一个特解平移
若 p 解 Ax=b,则每个 p+q(其中 q 属于 N(A))也解 Ax=b,而且所有解都如此得到。
自由度与唯一性
若 N(A)={0},相容系统只有一个解。若 N(A) 有非零方向,加入其倍数便得到无限多解。
齐次系统 Ax=0 告诉你方程留下哪些自由方向。若 Ax=b 相容,一个特解会把这些方向放到正确右端的位置,因此完整解集是 p+N(A)。
齐次解控制非齐次解的结构
同一个想法也可用来描述一致系统 Ax=b 的全部解。
定理
所有解都等于某个特解加上一个零空间向量
设 xp 是 Ax=b 的一个特解。
则向量 x 是 Ax=b 的解,当且仅当
x=xp+v其中 v∈N(A)。
这正是自由变量公式背后的结构定理。
证明
为什么全部解都具有 xp+N(A) 的形式
先设 x 是 Ax=b 的任意一个解。那么
Ax=b且Axp=b.相减得
A(x−xp)=0.所以 x−xp∈N(A),即 x=xp+v,其中 v∈N(A)。
反过来,若 v∈N(A),则 Av=0。因此
A(xp+v)=Axp+Av=b+0=b.所以任何形如 xp+v 的向量,也必定是系统的解。
概念视角几何
把整个零空间作同一个平移
固定一个特解 xp 后,xp+N(A) 表示所有 xp+v 组成的集合,其中 v∈N(A)。加上 xp 就是让零空间的每个点作同一个位移。这建立了齐次解与非齐次解之间的一一对应,逆过程是减去 xp。前面的证明分别说明了平移后的每个点都有效,以及每个解都能这样得到。
特解本身一般不唯一,但平移所得的集合与特解选择无关。若 xq 是另一个解,则 h=xq−xp∈N(A)。对每个 v∈N(A),有 xq+v=xp+(h+v),而封闭性保证 h+v∈N(A)。因此 xq+N(A)⊆xp+N(A);把 h 换成 −h 可得反向包含。沿解集选择不同起点,描述的仍是同一个解族。
一致性不可省略:没有特解,就无法开始这个描述。当 b=0 时,一致方程组的解集不含零向量,因为 A0=0=b。它是子空间的平移,称为仿射子空间,却不是向量子空间;两个解相加后对应的右端是 2b,而非 b。只有在齐次情形 b=0,解集才就是零空间本身。
标准题型:由一个解走向全部解
上面的定理经常要双向使用。正向的说法是:一旦你知道 u 是 Ax=b
的一个解,就可以加上任何齐次解而不会离开原来的解集:
Ah=0⟹A(u+h)=Au+Ah=b+0=b.
反方向同样重要。若 v 是同一个系统的另一个解,则
A(v−u)=Av−Au=b−b=0,
所以 v−u∈N(A)。因此两个特解的差,不是一个任意的新特解,而是一个
齐次解。这就是
S(A,b)=u+N(A)
这个公式的精确理由。
例题
用一个特解与两个零空间方向描述全部解
假设系统 Ax=b 有一个已知解
p=10−1010,而齐次系统 Ax=0 有以下两个解方向:
q1=2−31000,q2=−310−221.若这两个方向张成 N(A),那么 Ax=b 的所有解都可写成
x=p+sq1+tq2,s,t∈R.展开来看,就是
x=10−1010+s2−31000+t−310−221.p 的角色与 q1、q2 的角色不同。p 把解集放在正确的右边 b
上;q1 与 q2 则描述在保持同一个右边时可以移动的方向。
还有一个常用的缩放判断。若 Ap=b,则
2A(23p)=3Ap=3b.
所以 23p 是 2Ax=3b 的一个解。这并不是说任何解集都可以任意
缩放;这里可行,是因为系数矩阵与右边同时被缩放,而且计算直接验证了结论。
一个非齐次例子
例题
把所有解写成特解加零空间
假设系统 Ax=b 有一个特解
xp=301,并且
N(A)=Span⎩⎨⎧1−10⎭⎬⎫.那么所有解都可写成
x=301+t1−10=3+t−t1,t∈R.零空间给出自由方向;特解则决定这整个解族位于哪里。
为什么自由变量会迫出无限多个齐次解
从行化简角度去看,一个重要结论会立刻出现。
定理
只要有自由变量,就有无限多个解
如果齐次系统 Ax=0 至少有一个自由变量,那么它就会有无限多个解。
自由变量可以取任意实数。因为它本身就是解向量的一个坐标,改变其数值必然改变整个向量。以实际自由坐标作为参数时,参数不可能从完整的解向量中消失。
所以有一条值得明说的结论:如果变量个数多过主元方程个数,齐次系统里面就
一定会留下自由变量,于是解自然是无限多个。
例题
一个自由变量已经会产生整条解线
假设行化简后得到
x1−3x2=0.如果令 x2=t,那么 x1=3t,所以所有解都可以写成
[x1x2]=t[31],t∈R.由于 t 可以取无限多个值,所以解集也不只是“多于一个”,而是真正无限多。
例题
零空间也可能只剩平凡解
令
A=[1001].那么 Ax=0 就只是
x1=0,x2=0.因此唯一解是零向量,所以
N(A)={0}这个例子与前面有自由变量的情形刚好相反。
零空间本身是一个子空间
零空间最先是以“解集”身份出现,但它不只是解集;它永远都是 A 定义域中
的一个子空间。
这也表示:零空间记录的不只是“有没有解”,而是还剩多少个真正独立的自由
方向。
定理
零空间对线性组合封闭
对任何矩阵 A,N(A) 都是一个子空间。特别是:
- 0∈N(A);
- 若 u,v∈N(A),则 u+v∈N(A);
- 若 u∈N(A) 而 c 是纯量,则 cu∈N(A)。
证明
为什么零空间是子空间
我们已经知道 0∈N(A),因为 A0=0。
若 u,v∈N(A),则 Au=0、Av=0。由线性性质,
A(u+v)=Au+Av=0+0=0,所以 u+v∈N(A)。
同样,若 u∈N(A) 而 c 是纯量,则
A(cu)=c(Au)=c⋅0=0,因此 cu∈N(A)。
知道零空间是子空间之后,你才能继续问:它有没有基?有多少维?与主元结构
之间有什么关系?
左乘矩阵可能丢失方程信息
行变换保留齐次解集,是因为每一步都可逆;一般的矩阵乘子却未必可逆。准确的结论必须明确写出集合包含的方向。
定理
左乘矩阵时零空间的包含关系
设 A 是实 m×n 矩阵,G 是实 p×m 矩阵,则
N(A)⊆N(GA).如果 G 是可逆方阵,则 N(A)=N(GA)。
证明
逆矩阵在哪个方向发挥作用?
任取 x∈N(A),则 Ax=0m,所以 (GA)x=G(Ax)=G0m=0p。因此 x∈N(GA),证明了任意相容乘子下的包含关系。注意,即使两矩阵行数不同,两个零空间中的向量仍都属于 Rn。
反向包含则假设 G 是可逆方阵,因此 p=m,并取 x∈N(GA)。由 GAx=0p 左乘 G−1,得 Ax=G−10p=0m,所以 x∈N(A)。只有这个方向使用了逆矩阵;结合两个包含关系,才得到集合相等。
GA 的每一行都是 A 各行的线性组合,因此新方程都是旧方程的推论,每个旧解必然满足新方程。若组合过程丢失了信息,就可能产生额外的解。这解释了为什么不能随意用一般行组合代替初等行变换,而不检查保留了哪些约束。
例题
丢失一个约束的矩阵乘子
取
A=[1001],G=[10].则 GA=[1 0]。原方程 Ax=0 同时要求 x1=0 与 x2=0;新方程只要求 x1=0。所以
N(A)={02},N(GA)={[0t]:t∈R}.向量 (0,1)T 属于第二个集合而不属于第一个,因此包含严格。这里直接核对了丢失的条件,而不是只比较方程条数。可逆性保证相等,却不是对每个特定 A 都必要的条件:若 A 是零矩阵,即使乘子不可逆,两个零空间仍都等于 Rn。不能自动把定理倒转。
堆叠方程对应零空间的交集
另一种组合方程组的方法,是把全部方程一起保留。堆叠与只取某些行组合不同,它不会舍弃其中任何条件。
定理
堆叠矩阵的零空间
设实矩阵 A 的大小为 m×n,B 的大小为 p×n。令
C=[AB],则 N(C)=N(A)∩N(B)。交集表示同时属于两个集合;行数可以不同,列数却必须相同。
证明
双向证明堆叠矩阵恒等式
先取 x∈N(C)。由分块乘法,
0m+p=Cx=[AxBx].比较上方的 m 个元素与下方的 p 个元素,分别得到 Ax=0m 与 Bx=0p。因此 x 属于两个零空间,也就属于它们的交集。
反过来,取 x∈N(A)∩N(B)。集合成员条件同时给出 Ax=0m 与 Bx=0p。把两个输出堆叠,得到
Cx=[0m0p]=0m+p,故 x∈N(C)。两个方向的成员关系都已核对,集合相等于是成立。
例如,堆叠 A=[1 0 0] 与 B=[0 1 0],就是同时施加 x1=0 与 x2=0,留下的恰好是 (0,0,t)T。各自的零空间都较大,但交集只保留共同向量。重复堆叠同样可以表示有限多个齐次解集的交集。下一节会用此恒等式区分保留每条方程,与只保留方程的某个线性组合。
零度量出了还剩多少个独立方向
上面的讨论也说明:零空间不只是一堆解,而是系统剩余自由度的记录。
每一个自由变量,都对应一个独立参数。所以零空间的维数,正好等于化简后
自由变量的个数。
用秩的语言去说,之后就会写成
nullity(A)=n−rank(A),
但即使在秩—零度定理正式出现之前,你也应该先把 nullity 读成“系统还剩多
少条独立零空间方向”。
例题
零空间成员测试其实很直接
令
A=[101101],x=1−11,z=100.计算得到
Ax=[00],Az=[10].因此 x∈N(A),但 z∈/N(A)。要测试某个向量是否属于零空间,
最直接的方法就是实际计算 Ax。
怎样由 RREF 读出零空间基底
实际计算时,N(A) 的基底通常直接由自由变量描述读出来。
做法可以固定为:
- 先把 A 行化简;
- 分清楚主元变量与自由变量;
- 每次把一个自由变量设成 1,其余自由变量设成 0;
- 再由方程解回主元变量;
- 对每个自由变量重复一次。
这些向量确实构成一组基,而不只是候选。设共有 k 个自由坐标,vj 是把第 j 个自由坐标取一、其余自由坐标取零后得到的解。对任意 x∈N(A),记其自由坐标为 t1,…,tk。由封闭性,t1v1+⋯+tkvk 仍是齐次解,其自由坐标与 x 完全相同,而化简后的主元方程唯一确定其余坐标。因此这个组合等于 x,证明了张成。
再证明无关性:若 c1v1+⋯+ckvk=0,则其第 j 个自由坐标恰好为 cj,因为只有 vj 在该位置取一。因此所有 cj=0,无需再次消元便证得线性无关。这些向量于是构成基,其数目就是零度。若没有自由变量,零空间是 {0},其基为空列表,而不是含有零向量的列表;这与零度为零相符。
还要分清楚几何图像:
- 齐次解集永远是子空间,所以一定经过原点;
- 非齐次而且一致的解集,是把这个子空间平移到某个特解位置后得到;当右端非零时,解集不经过原点。
因此 N(A) 是系统的结构核心,而 xp+N(A) 才是 Ax=b 的完整解集。
齐次解与列向量相关性的关系
如果把 A 的列写成 a1,a2,…,an,那么
Ax=0
其实就等价于
x1a1+x2a2+⋯+xnan=0.
所以只要齐次系统有一个非平凡解,就等价于 A 的列向量之间存在一条非平凡
线性关系。
例题
一个非平凡零空间向量就是一条相关关系
假设
x=1−21∈N(A).那么 Ax=0 就表示
1⋅a1−2⋅a2+1⋅a3=0.这句话正是一条关于 A 的列向量的非平凡相关关系。
零空间如何决定唯一性
由这个结构定理可以立刻得到:
- 若 N(A)={0},则一致系统 Ax=b 只有唯一解;
- 若 N(A) 含有非零向量,则每个一致系统 Ax=b 都有无限多解,
因为你可以在特解上加上任意标量倍的零空间向量。
所以零空间正好度量了系统中隐藏的自由度。
常见错误
常见错误
零向量永远属于零空间
有些同学会误以为齐次方程组可能没有解。这是不可能的,因为 x=0 永远
满足 Ax=0。
常见错误
找到一个特解,不等于已经找到全部解
即使你已经找到某个 xp 满足 Axp=b,仍然要把整个零空间加上去,才
算完整描述了解集。
常见错误
不要把特解与方向混淆
若 u 与 v 都解 Ax=b,则 v−u 解的是 Ax=0。向量 v−u
是零空间中的方向,不是一个新的右边。
快速检查
思考检查
为什么 Ax=0 一定至少有一个解?
解答 · 答案
因为零向量总会满足 A0=0。
思考检查
若 N(A)={0} 且 Ax=b 一致,它有多少个解?
解答 · 答案
只有一个,因为没有任何非零零空间向量可以再加到特解上。
思考检查
如果 Ax=0 有自由变量,解集有可能只剩两个向量吗?
解答 · 答案
不可能。自由变量可以取无限多个纯量值,所以会产生无限多个解向量。
思考检查
假设 u 与 v 都解 Ax=b。那么 v−u 解哪一个齐次系统?
解答 · 答案
它解 Ax=0,因为
A(v−u)=Av−Au=b−b=0.
练习
思考检查
若 xp 解 Ax=b,而 u,v∈N(A),为什么 xp+u 与 xp+v 都是 Ax=b 的解?
解答 · 引导解答
因为 Au=0 且 Av=0,所以
A(xp+u)=Axp+Au=b+0=b,同理
A(xp+v)=Axp+Av=b+0=b.因此,只要在特解上加任何零空间向量,仍然留在同一个解集之中。
相关笔记
本节建立在
2.3 高斯消元与最简行阶梯形
与 2.4 解集的种类 之上。
它会为
5.1 可逆矩阵
与 6.2 子空间 做准备。