线性代数08:求解 Ax=b:可解性与结构

在上一篇文章中,我们讨论了矩阵零空间的概念,也就是所有满足 $Ax=0$ 的解的集合。今天我们继续深入,来回答一个更一般的问题:对于任意的 $Ax=b$,什么时候有解?如果有解,解的结构是什么样的?让我们一步步来揭开这个谜底。

可解的条件

我们还是沿用之前的例子来分析,这样更有连贯性。给定矩阵:

我们要求解的方程就是:

如果你仔细观察矩阵 $A$,会发现一个有趣的规律:矩阵 $A$ 的第三行正好是第一行和第二行的加和。这个性质对 $b$ 提出了一个要求——要想方程有解,必须满足 $b_3 = b_2 + b_1$,否则方程无解。这是为什么呢?

让我们通过增广矩阵的行消元来检验这个结论。对增广矩阵 $[A|b]$ 做行变换:

我们看到,消元后矩阵 $A$ 的第三行变成了全零行。如果方程要有解,那么对应的 $b$ 分量经过同样变换后也必须是 $0$,也就是要求:

不满足这个条件,方程就是矛盾的,自然无解。

在本文中,我们取一个满足条件的例子:

显然 $6 = 5+1$,符合要求,所以方程一定有解。

其实我们在前几讲已经知道了这个结论:只有当 $b$ 处于矩阵 $A$ 的列空间 $C(A)$ 之中时,方程才有解。今天我们从行的角度得到了另一个等价表述:如果矩阵 $A$ 的行向量经过某个线性组合得到了零向量,那么 $b$ 经过同样的线性组合后也必须等于 $0$。这两个角度说的其实是一回事。

通解的构造

明白了可解的条件后,接下来我们要找到方程的所有解。求解过程可以分为两步:

  1. 首先确认方程确实有解;
  2. 找到一个特解,再把特解和矩阵零空间的所有向量相加,就得到了通解。

这就是线性方程组解的基本结构。让我们一步步来看。

第一步:求特解

求 $Ax=b$ 特解最常用的方法是:将所有自由变量都赋值为 $0$,然后求解主变量

为什么可以这么做?我们先看看例子,然后再解释原理。

回到我们的例子:$b = \begin{bmatrix}1\5\6\end{bmatrix}$,主元在第 $1$ 列和第 $3$ 列,因此自由变量是 $x_2$ 和 $x_4$。我们令 $x_2 = x_4 = 0$,得到方程组:

很容易解出 $x_3 = \frac{3}{2}$,代入第一个方程得 $x_1 = -2$。因此特解就是:

我们来验证一下:$A x_p = \begin{bmatrix}1\5\6\end{bmatrix} = b$,没错!

这里我们再回顾一下主元列自由列的区别:自由列可以表示为主元列的线性组合,而主元列之间是线性无关的。这是为什么把自由变量设为 $0$ 能得到特解的关键。

我们用一个更一般的梯形矩阵 $U$ 来说明:

假设消元完成后得到 $Ux=c$,其中 $c$ 是 $b$ 经过同样行变换得到的向量。这里 $x,y,z,u$ 是四个主元,四个主元列的线性组合可以表示任何 $\mathbb{R}^4$ 中的向量。当我们把自由变量都赋值为 $0$ 时,自由列对应的项就消失了,只剩下主元列的组合,很容易就能解出主变量的值,得到特解 $x_p$。

如果消元后 $U$ 的最后 $i$ 行都是 $0$,那么方程要有解的条件就是 $c$ 的最后 $i$ 个分量也必须是 $0$。只有满足这个条件,主元列才能通过线性组合得到 $c$,否则就是矛盾方程,无解。

第二步:与零空间线性组合得到通解

现在我们已经找到了一个特解,如何得到所有解呢?

答案非常优雅:$Ax=b$ 的通解就是特解加上 $Ax=0$ 的所有解(也就是矩阵 $A$ 的零空间向量)。写成公式就是:

这里 $x_n$ 是矩阵 $A$ 零空间中的任意向量。

为什么这个公式成立?很简单,利用加法性质:

  • $A x_p = b$(特解的定义)
  • $A x_n = 0$(零空间向量的定义)

把两式相加:$A(x_p + x_n) = A x_p + A x_n = b + 0 = b$,所以 $x_p + x_n$ 也是方程的解。而且可以证明,方程的所有解都可以写成这种形式。

在我们的例子中,上一讲我们已经求出了矩阵 $A$ 的零空间 $N(A)$,它是两个基向量的线性组合:

其中 $c_1$ 和 $c_2$ 是任意实数。

因此,方程 $Ax=\begin{bmatrix}1\\5\\6\end{bmatrix}$ 的通解就是:

这个结果有一个很好的几何解释:矩阵 $A$ 的零空间 $N(A)$ 是 $\mathbb{R}^4$ 空间中的一个二维子空间(平面),而 $Ax=b$ 的所有解构成了一个穿过 $x_p$ 点,并且和零空间平行的平面。注意,这个平面不过原点,所以它不是 $\mathbb{R}^4$ 的子空间,只是一个仿射子空间。

你可能会问:为什么一定要把自由变量赋值为 $0$ 来求特解呢?赋值成别的数不行吗?其实特解不唯一,只要是方程的一个解就行。如果我们不给自由变量赋值为 $0$,比如赋值成其他常数,求得的特解 $x_p’$ 其实就是原来的 $x_p$ 加上一个零空间向量,仍然在这个仿射平面上,不影响最终的通解结构——因为零空间已经包含了所有可能的组合。

矩阵的秩与解的关系

现在我们从更一般的角度来总结一下,矩阵的秩如何决定方程组解的个数。

首先记住一个定义:矩阵的秩就是矩阵中主元的个数。对于一个 $m \times n$ 的矩阵,如果秩是 $r$,那么一定满足 $r \le m$ 且 $r \le n$。

我们分几种情况讨论满秩的情形:

  1. 列满秩:$r = n$。这种情况下,每一列都有主元,所以 $x$ 的每一个分量都是主变量,没有自由变量。相应地,零空间 $N(A)$ 中只有零向量。此时方程要么无解,要么只有唯一解 $x_p$。

  2. 行满秩:$r = m$。每一行都有主元,所以不管 $b$ 取什么值,方程 $Ax=b$ 都有解。主变量有 $r$ 个,自由变量有 $n-r$ 个,因此一定有无穷多解。行满秩化简后一般形式是 $R = \begin{bmatrix}I & F\end{bmatrix}$,其中 $I$ 是单位矩阵,$F$ 对应自由列的部分。

  3. 满秩方阵:$r = m = n$,这时候矩阵可逆。零空间只有零向量,所以对任意的 $b$,方程都有唯一解。我们最熟悉的可逆矩阵就是单位矩阵。

我们可以把所有情况整理成一张表格:

秩的情况 矩阵 $R$ 的形式 解的情况 说明
$r = m = n$ $R = I$ 唯一解 有效方程数等于未知数个数
$r = n < m$ $R=\begin{bmatrix}I\\0\end{bmatrix}$ 无解或唯一解 有效方程数大于未知数个数
$r = m < n$ $R=\begin{bmatrix}I&F\end{bmatrix}$ 无穷多解 有效方程数小于未知数个数,存在自由变量
$r < m, r < n$ $R=\begin{bmatrix}I&F\\0&0\end{bmatrix}$ 无解或无穷多解 取决于 $b$ 是否满足可解条件

对于最一般的情况 $r < m$ 且 $r < n$,解的情况可以总结为:

  • 无穷多解:当 $r(A) = r(A|b) < n$ 时,方程组有无穷多解。因为秩小于未知数个数 $n$,意味着存在自由变量,自由变量可以取任意值,因此方程组有无穷多组解。
  • 无解:当 $r(A) \neq r(A|b)$ 时,方程组无解。此时增广矩阵 $(A|b)$ 经过初等行变换后,会出现形如 $[0\ 0\ \cdots\ 0 \mid c]$($c \neq 0$)的行,这表示方程组存在矛盾方程,所以无解。

总而言之,矩阵的秩决定了方程组解的数量。这是线性方程组理论中一个非常核心的结论。