Evanalysis
4.1预计阅读时间: 13 分钟

4.1 齐次方程组与零空间

用齐次方程组与零空间去系统描述所有解,而不是只找出某一个解。

当你已经懂得对方程组做行化简,下一步就不应只问“这一题怎样解”,而应问 “全部解究竟有什么结构”。齐次方程组是最适合开始问这个问题的地方,而零 空间正是回答这个问题的语言。

为什么齐次方程组特别

齐次线性方程组的常数项全部都是 0。用矩阵写,就是

Ax=0.Ax = 0.

这种情况有一个立刻可见的特点:零向量永远是它的解。

定义

齐次方程组

齐次线性方程组是形如

Ax=0Ax = 0

的线性方程组。

其中 x=0x = 0 称为平凡解。

真正的问题在于:除了平凡解之外,是否还有非平凡解。

零空间把所有齐次解收集起来

定义

零空间

AA 是矩阵,则 AA 的零空间定义为

N(A)={x:Ax=0}.N(A) = \{x : Ax = 0\}.

因此 N(A) 正正就是齐次方程组 Ax=0Ax = 0 的解集。

这个定义把“一些解”变成一个完整的数学对象。你不再只是在列例子,而是在 描述整个集合。

行化简会揭示零空间的形状

要找 N(A),就是解 Ax=0Ax = 0,也就是对增广系统 [A0][A \mid 0] 做行化简。 主元告诉你哪些变量被决定,自由变量则告诉你剩下多少自由方向。

例题

解一个齐次方程组并描述零空间

A=[121242].A = \begin{bmatrix} 1 & 2 & -1 \\ 2 & 4 & -2 \end{bmatrix}.

要求解 Ax=0Ax = 0,把它行化简:

[12102420][12100000].\left[ \begin{array}{ccc|c} 1 & 2 & -1 & 0 \\ 2 & 4 & -2 & 0 \end{array} \right] \sim \left[ \begin{array}{ccc|c} 1 & 2 & -1 & 0 \\ 0 & 0 & 0 & 0 \end{array} \right].

所以方程变成

x1+2x2x3=0.x_1 + 2x_2 - x_3 = 0.

x2=sx_2 = sx3=tx_3 = t 为自由变量,则

x1=2s+t.x_1 = -2s + t.

因此

x=[2s+tst]=s[210]+t[101].x = \begin{bmatrix} -2s + t \\ s \\ t \end{bmatrix} = s \begin{bmatrix} -2 \\ 1 \\ 0 \end{bmatrix} + t \begin{bmatrix} 1 \\ 0 \\ 1 \end{bmatrix}.

所以

N(A)=Span{[210],[101]}.N(A) = \operatorname{Span} \left\{ \begin{bmatrix} -2 \\ 1 \\ 0 \end{bmatrix}, \begin{bmatrix} 1 \\ 0 \\ 1 \end{bmatrix} \right\}.

这个例子说明:零空间描述的不只是“有没有解”,而是全部解如何被建立出来。

齐次解控制非齐次解的结构

同一个想法也可用来描述一致系统 Ax=bAx = b 的全部解。

定理

所有解都等于某个特解加上一个零空间向量

xpx_pAx=bAx = b 的一个特解。

则向量 xAx=bAx = b 的解,当且仅当

x=xp+vx = x_p + v

其中 vN(A)v \in N(A)

这正是自由变量公式背后的结构定理。

证明

为什么全部解都具有 xp+N(A)x_p + N(A) 的形式

一个非齐次例子

例题

把所有解写成特解加零空间

假设系统 Ax=bAx = b 有一个特解

xp=[301],x_p = \begin{bmatrix} 3 \\ 0 \\ 1 \end{bmatrix},

并且

N(A)=Span{[110]}.N(A) = \operatorname{Span} \left\{ \begin{bmatrix} 1 \\ -1 \\ 0 \end{bmatrix} \right\}.

那么所有解都可写成

x=[301]+t[110]=[3+tt1],tR.x = \begin{bmatrix} 3 \\ 0 \\ 1 \end{bmatrix} + t \begin{bmatrix} 1 \\ -1 \\ 0 \end{bmatrix} = \begin{bmatrix} 3 + t \\ -t \\ 1 \end{bmatrix}, \qquad t \in R.

零空间给出自由方向;特解则决定这整个解族位于哪里。

为什么自由变量会迫出无限多个齐次解

从行化简角度去看,一个重要结论会立刻出现。

定理

只要有自由变量,就有无限多个解

如果齐次系统 Ax=0Ax = 0 至少有一个自由变量,那么它就会有无限多个解。

原因并不神秘。自由变量可以取任意实数,而不同参数值通常会产生不同解向量。

所以有一条值得明说的结论:如果变量个数多过主元方程个数,齐次系统里面就 一定会留下自由变量,于是解自然是无限多个。

例题

一个自由变量已经会产生整条解线

假设行化简后得到

x13x2=0.x_1 - 3x_2 = 0.

如果令 x2=tx_2 = t,那么 x1=3tx_1 = 3t,所以所有解都可以写成

[x1x2]=t[31],tR.\begin{bmatrix} x_1 \\ x_2 \end{bmatrix} = t \begin{bmatrix} 3 \\ 1 \end{bmatrix}, \qquad t \in R.

由于 t 可以取无限多个值,所以解集也不只是“多于一个”,而是真正无限多。

例题

零空间也可能只剩平凡解

A=[1001].A = \begin{bmatrix} 1 & 0 \\ 0 & 1 \end{bmatrix}.

那么 Ax=0Ax = 0 就只是

x1=0,x2=0.x_1 = 0, \qquad x_2 = 0.

因此唯一解是零向量,所以

N(A)={0}N(A) = \{0\}

这个例子与前面有自由变量的情形刚好相反。

零空间本身是一个子空间

零空间最先是以“解集”身份出现,但它不只是解集;它永远都是 AA 定义域中 的一个子空间。

这也表示:零空间记录的不只是“有没有解”,而是还剩多少个真正独立的自由 方向。

定理

零空间对线性组合封闭

对任何矩阵 AAN(A) 都是一个子空间。特别是:

  • 0N(A)0 \in N(A)
  • u,vN(A)u, v \in N(A),则 u+vN(A)u + v \in N(A)
  • uN(A)u \in N(A)c 是纯量,则 cuN(A)cu \in N(A)

证明

为什么零空间是子空间

知道零空间是子空间之后,你才能继续问:它有没有基?有多少维?与主元结构 之间有什么关系?

零度量出了还剩多少个独立方向

上面的讨论也说明:零空间不只是一堆解,而是系统剩余自由度的记录。

每一个自由变量,都对应一个独立参数。所以零空间的维数,正好等于化简后 自由变量的个数。

用秩的语言去说,之后就会写成

nullity(A)=nrank(A),\operatorname{nullity}(A) = n - \operatorname{rank}(A),

但即使在秩—零度定理正式出现之前,你也应该先把 nullity 读成“系统还剩多 少条独立零空间方向”。

例题

零空间成员测试其实很直接

A=[110011],x=[111],z=[100].A = \begin{bmatrix} 1 & 1 & 0 \\ 0 & 1 & 1 \end{bmatrix}, \qquad x = \begin{bmatrix} 1 \\ -1 \\ 1 \end{bmatrix}, \qquad z = \begin{bmatrix} 1 \\ 0 \\ 0 \end{bmatrix}.

计算得到

Ax=[00],Az=[10].Ax = \begin{bmatrix} 0 \\ 0 \end{bmatrix}, \qquad Az = \begin{bmatrix} 1 \\ 0 \end{bmatrix}.

因此 xN(A)x \in N(A),但 zN(A)z \notin N(A)。要测试某个向量是否属于零空间, 最直接的方法就是实际计算 Ax

怎样由 RREF 读出零空间基底

实际计算时,N(A) 的基底通常直接由自由变量描述读出来。

做法可以固定为:

  1. 先把 AA 行化简;
  2. 分清楚主元变量与自由变量;
  3. 每次把一个自由变量设成 1,其余自由变量设成 0
  4. 再由方程解回主元变量;
  5. 对每个自由变量重复一次。

这样得到的向量会形成零空间的一组基底候选,因为每一个向量都对应一个独立 自由方向。

还要分清楚几何图像:

  • 齐次解集永远是子空间,所以一定经过原点;
  • 非齐次而且一致的解集,通常是把这个子空间平移到某个特解位置之后得到。

因此 N(A) 是系统的结构核心,而 xp+N(A)x_p + N(A) 才是 Ax=bAx = b 的完整解集。

齐次解与列向量相关性的关系

如果把 AA 的列写成 a1,a2,,ana_1, a_2, \ldots, a_n,那么

Ax=0Ax = 0

其实就等价于

x1a1+x2a2++xnan=0.x_1 a_1 + x_2 a_2 + \cdots + x_n a_n = 0.

所以只要齐次系统有一个非平凡解,就等价于 AA 的列向量之间存在一条非平凡 线性关系。

例题

一个非平凡零空间向量就是一条相关关系

假设

x=[121]N(A).x = \begin{bmatrix} 1 \\ -2 \\ 1 \end{bmatrix} \in N(A).

那么 Ax=0Ax = 0 就表示

1a12a2+1a3=0.1 \cdot a_1 - 2 \cdot a_2 + 1 \cdot a_3 = 0.

这句话正是一条关于 AA 的列向量的非平凡相关关系。

零空间如何决定唯一性

由这个结构定理可以立刻得到:

  • N(A)={0}N(A) = \{0\},则一致系统 Ax=bAx = b 只有唯一解;
  • N(A) 含有非零向量,则每个一致系统 Ax=bAx = b 都有无限多解, 因为你可以在特解上加上任意标量倍的零空间向量。

所以零空间正好度量了系统中隐藏的自由度。

常见错误

常见错误

零向量永远属于零空间

有些同学会误以为齐次方程组可能没有解。这是不可能的,因为 x=0x = 0 永远 满足 Ax=0Ax = 0

常见错误

找到一个特解,不等于已经找到全部解

即使你已经找到某个 xpx_p 满足 Axp=bAx_p = b,仍然要把整个零空间加上去,才 算完整描述了解集。

快速检查

快速检查

为什么 Ax=0Ax = 0 一定至少有一个解?

用一句话回答。

解答

答案

快速检查

N(A)={0}N(A) = \{0\}Ax=bAx = b 一致,它有多少个解?

请用本节定理解释。

解答

答案

快速检查

如果 Ax=0Ax = 0 有自由变量,解集有可能只剩两个向量吗?

请从参数形式回答。

解答

答案

练习

快速检查

xpx_pAx=bAx = b,而 u,vN(A)u, v \in N(A),为什么 xp+ux_p + uxp+vx_p + v 都是 Ax=bAx = b 的解?

请用线性性质写一行。

解答

引导解答

相关笔记

本节建立在 2.3 高斯消元与最简行阶梯形2.4 解集的种类 之上。 它会为 5.1 可逆矩阵6.2 子空间 做准备。

本节掌握 checkpoint

要完成这一节 checkpoint,需要把每一题答对。 答对进度: 0%.

技能点: homogeneous-system, trivial-solution

为什么每个齐次系统 Ax = 0 至少都有一个解?

已用尝试次数: 0

剩余尝试次数: 不限尝试次数

预览不会消耗尝试次数。

提交会记录一次正式评分尝试。

技能点: null-space, homogeneous-system

填空:A 的零空间,就是所有满足 ____ 的 x 所组成的集合。

已用尝试次数: 0

剩余尝试次数: 不限尝试次数

预览不会消耗尝试次数。

提交会记录一次正式评分尝试。

输入格式提示: 像 `Ax=0` 这种简短符号答案已经足够。

技能点: null-space, solution-structure, particular-solution

若 xp 是 Ax = b 的一个解,而 v 属于 N(A),以下哪个向量也一定是 Ax = b 的解?

已用尝试次数: 0

剩余尝试次数: 不限尝试次数

预览不会消耗尝试次数。

提交会记录一次正式评分尝试。

本单元重点词汇