© 2015-2020 Jacob Ström、Kalle Åström 与 Tomas Akenine-Möller

正在加载并构建本章……

第 8 章:秩





本章讨论矩阵的一项性质——。 事实上,秩揭示了矩阵的多方面特征。本章有些例子会用方阵来说明, 但所有结论同样适用于 $m \times n$ 这类矩形矩阵。 我们先从“由声音恢复结构”这一应用实例讲起。

例 8.1: 由声音恢复结构
应用数学中有许多问题都会涉及,所谓由声音恢复结构便是其中之一。在这个问题中,若干麦克风固定不动,但其位置未知;声音在未知的位置和时刻发出。事实证明,仅凭麦克风测得的声音信号,仍可计算出:(i) 各麦克风的位置;(ii) 声源的运动轨迹;(iii) 声音发出的时刻。在其中发挥着重要作用。
八个麦克风、移动声源及其投影的三维轨迹
图 8.1: 测量情形示意图。左手拿着的声源正在移动,而八个麦克风保持静止。图中标出了麦克风阵列、声源和投影的三维轨迹。
图 8.1: 测量情形示意图。左手拿着的声源正在移动,而八个麦克风保持静止。图中标出了麦克风阵列、声源和投影的三维轨迹。
图 8.1 展示了测量情形:一个声源在房间内移动,八个麦克风同时收录声音。利用这八份录音,可以计算麦克风的位置与声源的运动轨迹。另见这段 YouTube 视频。 计算得到的三维声源轨迹和麦克风位置还在交互式图解 8.2中进行了可视化。
交互式图解 8.2: 蓝色圆点表示八个麦克风的位置。不过,这些位置与声源移动时的位置起初都是未知的。点按“前进”查看声源轨迹。
交互式图解 8.2: 红色声源轨迹与蓝色麦克风位置均由 30 秒录音计算而得。点按左上角的旋转图标可转动点云,也可按住鼠标右键拖动,从任意方向观察模型。
我们先介绍矩阵的零空间列空间行空间。我们将看到,这三个空间本身都是线性向量空间,也就是线性子空间。下面先说明何谓线性子空间。
8.1 线性子空间


向量空间的线性子空间,是由该向量空间中一部分向量构成、且自身也是线性空间的子集。要证明一个线性空间的子集是线性子空间,只需检验三项条件。下述定理概括了这三项条件。

定理 8.1:
设 $V$ 是标量域 $F$ 上的线性向量空间(本书通常只取 $F=\R$ 或 $F=\mathbb{C}$)。 子集 $W \subset V$ 是线性向量空间(即子空间),当且仅当 $W$ 满足以下三项条件:
  1. 零向量 $\vc{0} \in W$。
  2. 若 $\vc{v}_1 \in W$ 且 $\vc{v}_2 \in W$,则 $\vc{v}_1+\vc{v}_2 \in W$。
  3. 若 $\vc{v} \in W$ 且 $\lambda \in F$,则 $\lambda \vc{v}\in W$。

先证三项条件成立时 $W$ 是向量空间。由条件 1,$W$ 非空。 条件 2 和 3 保证两个向量相加或向量与标量相乘后,结果仍在该子集中。由于 $W$ 的元素原本就在向量空间 $V$ 中,定理 2.1 的其余法则自然成立。

再证若子集 $W$ 是向量空间,则三项条件必然成立。 由于 $W$ 是向量空间,条件 2 和 3 已满足。又因 $W$ 非空,至少存在一个元素 $\vc{w}$,于是 $ \vc{0} = 0 \vc{w} \in W$,故条件 1 也成立。
$\square$


例 8.2:
设 $\mx{A}$ 为 $m \times n$ 矩阵,$V$ 为线性向量空间 $\R^n$。令 $W \subset V$ 为满足 $\mx{A}\vc{v} = \vc{0}$ 的向量 $\vc{v} \in V$ 所构成的子集。则 $W$ 是线性向量空间,因为:
  1. 由 $\mx{A}\vc{0} = \vc{0}$,可知零向量 $\vc{0} \in W$。
  2. 若 $\vc{v}_1,\vc{v}_2 \in W$,则 $\mx{A}(\vc{v}_1+\vc{v}_2) = \mx{A}\vc{v}_1+\mx{A}\vc{v}_2 = \vc{0}+\vc{0}$,故 $\vc{v}_1+\vc{v}_2 \in W$。
  3. 若 $\vc{v} \in W$ 且 $\lambda \in F$,则 $\mx{A}(\lambda \vc{v}) = \lambda \mx{A} \vc{v}= \lambda\vc{0} =\vc{0}$,故 $\lambda \vc{v}\in W$。
这说明齐次方程组的解集是一个线性空间。

例 8.3:
设 $\mx{A}$ 为 $m \times n$ 矩阵,$V$ 为线性向量空间 $\R^m$。令 $W \subset V$ 为所有可写成 $\vc{v}= \mx{A}\vc{u}$(其中 $\vc{u} \in \R^n$)的向量 $\vc{v} \in V$ 所构成的子集。则 $W$ 是线性向量空间,因为:
  1. 由 $\vc{0} =\mx{A}\vc{0}$(左侧零向量属于 $\R^m$,右侧零向量属于 $\R^n$),可知零向量 $\vc{0} \in W$。
  2. 若 $\vc{v}_1,\vc{v}_2 \in W$,则存在 $\vc{u}_1,\vc{u}_2 \in \R^n$,使得 $\vc{v}_1 = \mx{A}\vc{u}_1$ 且 $\vc{v}_2 = \mx{A}\vc{u}_2$。于是 $(\vc{v}_1+\vc{v}_2) = \mx{A}\vc{u}_1+\mx{A}\vc{u}_2 = \mx{A}(\vc{u}_1 + \vc{u}_2)$,故 $\vc{v}_1+\vc{v}_2 \in W$。
  3. 若 $\vc{v} \in W$ 且 $\lambda \in F$,则存在 $\vc{u} \in \R^n$,使得 $\vc{v} = \mx{A}\vc{u}$。于是 $\lambda \vc{v} = \lambda \mx{A}(\vc{u}) = \mx{A} (\lambda \vc{u})$,故 $\lambda \vc{v}\in W$。
这说明一组向量的所有线性组合所构成的集合是一个线性空间。
8.2 零空间与零度


正如第 5.5 节所述, $\mx{A}\vc{x} = \vc{0}$ 这类方程组称为齐次方程组。下面将说明,这类方程组的解能够揭示 $\mx{A}$ 的一些有用性质。先看一个例子。 设有矩阵
\begin{equation} \mx{A} = \begin{pmatrix} 2 & \hid{-}5 & \hid{-}3 \\ 4 & \hid{-}2 & \hid{-}1 \\ 2 & -3 & -2 \end{pmatrix}, \end{equation} (8.1)
求解 $\mx{A}\vc{x}=\vc{0}$,其中 $\vc{x} = (x_1, x_2, x_3)$ 是列向量。 这与式(5.34)中的例子相同,即
\begin{equation} \begin{cases} \begin{array}{rrrl} 2 x_1 + 5 & \bs x_2 + 3 & \bs x_3 = 0, \\ 4 x_1 + 2 & \bs x_2 +\hid{3}& \bs x_3 = 0, \\ 2 x_1 - 3 & \bs x_2 - 2 & \bs x_3 = 0, \\ \end{array} \end{cases} \end{equation} (8.2)
经过若干步高斯消元,得到
\begin{equation} \begin{cases} \begin{array}{rrrl} 2 x_1 + 5 & \bs x_2 + 3 & \bs x_3 = 0, \\ 8 & \bs x_2 + 5 & \bs x_3 = 0, \\ & & \bs 0 = 0. \\ \end{array} \end{cases} \end{equation} (8.3)
接下来令 $x_3=t$,则 $x_2=-\frac{5}{8}t$,最终有 $x_1=\frac{1}{16}t$,即
\begin{equation} \vc{x}(t) = \begin{pmatrix} x_1 \\ x_2 \\ x_3 \end{pmatrix} = \begin{pmatrix} \frac{1}{16}t \\ -\frac{5}{8}t \\ t \end{pmatrix} \end{equation} (8.4)
可以看出,解集是一条直线, 只依赖一个可变参数 $t$。有时把解记作 $\vc{x}_\mathrm{h}$,以表明 它是齐次方程组 $\mx{A}\vc{x}=\vc{0}$ 的解。 全部解构成的集合称为 $\mx{A}$ 的零空间。在本例中, 零空间只依赖参数 $t$,所以其维数为 1。 向量 $(1/16, -5/8, 1)$ 是零空间中的一个非零向量,也称为一个零空间向量。 下面给出正式定义。

定义 8.1: 零空间
若 $\mx{A}$ 是 $m\times n$ 矩阵(即有 $m$ 行、$n$ 列),则 $\mx{A}\vc{x}=\vc{0}$ 的全部解所构成的集合称为 $\mx{A}$ 的零空间
由定义,零空间必为 $\R^n$ 的子空间,因此其维数不超过 $n$。 它是一个线性子空间(见例 8.2)。这个子空间的维数十分重要,因而有专门的名称。

定义 8.2: 零度
$\mx{A}$ 的零空间的维数称为 $\mx{A}$ 的零度,记作 $\nullity(\mx{A})$。
由于零空间是 $\R^n$ 的子空间,故 $\nullity(\mx{A}) \leq n$。那么它比 $\R^n$ 少了多少维呢?粗略地说,这取决于 $\mx{A}\vc{x}=\vc{0}$ 中约束条件的数目,但必须谨慎:即使该方程组有 $m$ 个方程,也不能直接断定 $\nullity(\mx{A}) = n - m$。矩阵 $\mx{A}$ 中真正独立的约束数,正是所刻画的内容。后面将证明 $\nullity(\mx{A}) = n - r$;也就是说,$\mx{A}\vc{x}=\vc{0}$ 中的约束使维数恰好减少 $r$,其中 $r$ 就是 $\mx{A}$ 的秩。

定义 8.3: 零空间向量
设 $\vc{p}_1, \ldots, \vc{p}_k$ 是零空间的一组。 任一解 $\vc{x}$ 均可写成 $\vc{x}(t_1,\dots,t_k) = t_1\vc{p}_1 + \dots + t_k\vc{p}_k$, 其中 $k$ 是零空间的维数。向量 $\vc{p}_i$ 是一组零空间基向量;更一般地,零空间中的任意向量都可称为零空间向量
利用高斯消元法,可以求得零空间的一组,进而得到零空间的维数。 $\mx{A}\vc{x}=\vc{0}$ 的解中独立参数的个数, 正是零空间的维数。

例 8.4: 零空间
我们再次考察形如 $\mx{A}\vc{x}=\vc{0}$ 的方程组之解。 下列方程组
\begin{equation} \begin{cases} \begin{array}{rrrrrl} 2 x_1\hid{+} & \bs \hid{x_2} + \hid{1} & \bs x_3 - 2 & \bs x_4 +\hid{1} & \bs x_5 = 0, \\ 2 x_1+ & \bs x_2 + 5 & \bs x_3 \hid{+}\hid{2} &\bs \hid{x_4} + 2 & \bs x_5 = 0, \\ & \bs x_2+ 4 & \bs x_3 + 2 & \bs x_4 +\hid{1} & \bs x_5 = 0, \\ & & \hid{1} & \bs x_4 + 2 & \bs x_5 = 0, \\ \end{array} \end{cases} \end{equation} (8.5)
可改写为
\begin{equation} \underbrace{ \left( \begin{array}{rrrrr} 2 & 0 & 1 & -2 & 1 \\ 2 & 1 & 5 & 0 & 2 \\ 0 & 1 & 4 & 2 & 1 \\ 0 & 0 & 0 & 1 & 2 \\ \end{array} \right) }_{\mx{A}} \underbrace{ \begin{pmatrix} x_1 \\ x_2 \\ x_3 \\ x_4 \\ x_5 \\ \end{pmatrix} }_{\vc{x}} = \underbrace{ \begin{pmatrix} 0 \\ 0 \\ 0 \\ 0 \\ \end{pmatrix} }_{\vc{0}}. \end{equation} (8.6)
接下来采用例 6.11中的紧凑记法,用高斯消元法 求解 $\mx{A}\vc{x}=\vc{0}$:
\begin{equation} \left( \begin{array}{rrrrr|r} 2 & 0 & 1 & -2 & 1 & 0\\ 2 & 1 & 5 & 0 & 2 & 0\\ 0 & 1 & 4 & 2 & 1 & 0\\ 0 & 0 & 0 & 1 & 2 & 0\\ \end{array} \right) \Leftrightarrow \left( \begin{array}{rrrrr|r} 2 & 0 & 1 & -2 & 1 & 0\\ 0 & 1 & 4 & 2 & 1 & 0\\ 0 & 1 & 4 & 2 & 1 & 0\\ 0 & 0 & 0 & 1 & 2 & 0\\ \end{array} \right), \end{equation} (8.7)
上一步用第 2 行减去第 1 行。现在第 2、3 行完全相同, 二者相减便得到一个全零行,即
\begin{equation} \left( \begin{array}{rrrrr|r} 2 & 0 & 1 & -2 & 1 & 0\\ 0 & 1 & 4 & 2 & 1 & 0\\ 0 & 0 & 0 & 1 & 2 & 0\\ 0 & 0 & 0 & 0 & 0 & 0\\ \end{array} \right). \end{equation} (8.8)
正如第 5.5 节所述,此时应把一个未知量设为自由参数,例如令 $x_5=t$。由第 3 行得 $x_4+2x_5=0$,即 $x_4=-2t$。 对第 2 行还需引入另一个自由参数,令 $x_3=s$,于是 $x_2 = -4s + 3t$。最后由第 1 行得到 $x_1 = -\frac{1}{2}s-\frac{5}{2}t$。 因而解为
\begin{equation} \vc{x}_\mathrm{h} = s \underbrace{ \left( \begin{array}{r} -\frac{1}{2} \\ -4 \\ 1 \\ 0 \\ 0 \\ \end{array} \right) }_{\vc{m}} + t \underbrace{ \left( \begin{array}{r} -\frac{5}{2} \\ 3 \\ 0 \\ -2 \\ 1 \\ \end{array} \right) }_{\vc{n}} =s\vc{m} + t\vc{n}. \end{equation} (8.9)
依照定义 8.1,上面的解集就是 $\mx{A}$ 的零空间。 它依赖两个参数 $s$ 和 $t$,故零空间的维数为 2,即 $\nullity(\mx{A})=2$。 此外,我们也说向量 $\vc{m}$ 与 $\vc{n}$ 张成该零空间;换言之,它们是零空间的向量。
8.3 列空间、行空间与秩


对 $m\times n$ 矩阵 $\mx{A}$,回顾定义 6.2中行向量 $\vc{a}_{i,}^\T$($i\in{1,\dots,m}$)与列向量 $\vc{a}_{,j}$ 的记法,即
\begin{equation} \mx{A} = \bigl(\vc{a}_{,1} \,\,\, \vc{a}_{,2} \,\,\,\dots\,\,\, \vc{a}_{,n}\bigr) = \left( \begin{array}{c} \vc{a}_{1,}^\T\\ \vc{a}_{2,}^\T\\ \vdots \\ \vc{a}_{m,}^\T\\ \end{array} \right). \end{equation} (8.10)
还要重申本书中列向量与行向量的记法:默认所有向量都是列向量;若要使用行向量, 就把列向量 $\vc{x}$ 转置为行向量 $\vc{x}^\T$。 此外,$(x_1,x_2,x_3)$(注意逗号)也是列向量,而 $(x_1 \spc x_2 \spc x_3)$ 是行向量, 详见定义 2.5下方的说明。

了解零空间后,就可以引入两个与之相关的概念:列空间行空间

定义 8.4: 列空间
设 $\mx{A}= \left(\vc{a}_{,1} \vc{a}_{,2} \dots \vc{a}_{,n}\right)$ 为 $m\times n$ 矩阵。 $\mx{A}$ 的列空间,就是其列向量 $\vc{a}_{,i}$ 的所有线性组合所构成的集合。
注意,矩阵与向量之积 $\mx{A}\vc{x}$ 可写为
\begin{equation} \mx{A}\vc{x}= \left(\vc{a}_{,1}\,\,\, \vc{a}_{,2}\,\,\, \dots\,\,\, \vc{a}_{,n}\right)\vc{x} = x_1\vc{a}_{,1} + x_2\vc{a}_{,2} + \dots +x_n\vc{a}_{,n}, \end{equation} (8.11)
也就是 $\mx{A}$ 各列向量的线性组合(见定义 5.1)。 因此,列空间就是所有可由第一列向量的某个常数倍、第二列向量的另一个常数倍,依次相加而得到的向量。 由于 $\mx{A}$ 的每个列向量都有 $m$ 个元素,故列空间按定义是 $\R^m$ 的子空间。

定义 8.5: 行空间
设 $\mx{A}= \left(\begin{array}{c} \vc{a}_{1,}^\T\\ \vc{a}_{2,}^\T\\ \vdots \\\vc{a}_{m,}^T \end{array}\right)$ 为 $m\times n$ 矩阵。 $\mx{A}$ 的行空间,就是其行向量 $\vc{a}_{i,}^\T$ 的所有线性组合所构成的集合。
与列空间类似,这里也可写成向量与矩阵之积;不过这次使用含 $m$ 个元素的行向量 $\vc{x}^\T$,从左侧与矩阵相乘,即
\begin{equation} \vc{x}^\T\mx{A}= \vc{x}^\T \left(\begin{array}{c} \vc{a}_{1,}^\T\\ \vc{a}_{2,}^\T\\ \vdots \\\vc{a}_{m,}^T \end{array}\right) = \left(\begin{array}{c} x_1\ \ x_2\ \ \dots\ \ x_m \end{array}\right) \left(\begin{array}{c} \vc{a}_{1,}^\T\\ \vc{a}_{2,}^\T\\ \vdots \\\vc{a}_{m,}^T \end{array}\right) = x_1\vc{a}_{1,}^\T + x_2 \vc{a}_{2,}^\T + \dots + x_m \vc{a}_{m,}^\T. \end{equation} (8.12)
这同样是线性组合(见定义 5.1),只是这次组合的是 $\mx{A}$ 的行向量。 因此,行空间由第一行向量的某个常数倍、第二行向量的另一个常数倍,依次相加所能得到的全部向量构成。 由于 $\mx{A}$ 的每个行向量都有 $n$ 个元素,故行空间按定义是 $\R^n$ 的子空间。

例 8.5: 列空间(一)
本例沿用例 8.4中的矩阵。回顾此前已把方程组化为
\begin{equation} \left( \begin{array}{rrrrr|r} 2 & 0 & 1 & -2 & 1 & 0\\ 0 & 1 & 4 & 2 & 1 & 0\\ 0 & 0 & 0 & 1 & 2 & 0\\ 0 & 0 & 0 & 0 & 0 & 0\\ \end{array} \right). \end{equation} (8.13)
上一例已经算出了零空间;这里说明如何得到列空间。 事实上,列空间的基向量可直接从上面经高斯消元所得的矩阵中“取出”:选择各非零行首个非零元素所在的列向量。 因而得到以下向量:
\begin{align} \begin{pmatrix} 2 \\ 0 \\ 0 \\ 0 \end{pmatrix} , \ \ \ \ \begin{pmatrix} 0 \\ 1 \\ 0 \\ 0 \end{pmatrix} , \ \ \ \ \mathrm{以及}\ \ \ \ \left( \begin{array}{r} -2 \\ 2 \\ 1 \\ 0 \end{array} \right). \end{align} (8.14)
列空间有三个基向量,所以 $\mx{A}$ 的列空间维数为 3。 本章稍后将解释这种方法为何成立。

例 8.6: 列空间(二)
\begin{equation} \mx{A} = \left(\vc{a}_{,1}\,\,\, \vc{a}_{,2}\,\,\, \vc{a}_{,3}\right)= \left( \begin{array}{rrr} 1 & \hid{-}4 & -10 \\ 2 & \hid{-}1 & 1\\ 3 & -3 & 15 \end{array} \right). \end{equation} (8.15)
容易验证 $\vc{a}_{,3} = 2\vc{a}_{,1}-3\vc{a}_{,2}$,故列空间至多由两个向量线性组合而成。若 $\vc{a}_{,1}$ 与 $\vc{a}_{,2}$ 平行,列空间只依赖一个向量;否则依赖两个向量。若二者平行,则 $\vc{a}_{,1} \cdot \vc{a}_{,2}= \ln{\vc{a}_{,1}} \ln{\vc{a}_{,2}}$(见定义 3.1)。 但 $\vc{a}_{,1} \cdot \vc{a}_{,2} = 1\cdot 4 + 2\cdot 1 + 3\cdot(-3) = -3$,而 $\ln{\vc{a}_{,1}} \ln{\vc{a}_{,2}}\geq 0$,所以二者不平行,列空间由两个向量的线性组合构成。 例如,列空间可表示为
\begin{equation} s \begin{pmatrix} 1\\ 2\\ 3 \end{pmatrix} +t \left( \begin{array}{r} 4\\ 1\\ -3 \end{array} \right), \end{equation} (8.16)
其中 $s,t\in \R$。也就是说,列空间由 $\vc{a}_{,1}$ 与 $\vc{a}_{,2}$ 的线性组合构成。 稍后将看到,这意味着 $\rank(\mx{A})=2$。 从几何上看,列空间是一个平面 (见定义 3.8),从式(8.16)也可看出这一点。

定义 8.6: 行秩与列秩
设 $\mx{A}$ 为矩阵。$\mx{A}$ 的行秩是其线性无关行向量的最大个数,记作 $\rowrank(\mx{A})$。 类似地,$\mx{A}$ 的列秩是其线性无关列向量的最大个数,记作 $\colrank(\mx{A})$。
下面逐步推导一种简便方法,用来求矩阵列空间或行空间的基向量。 先看下述定理。

定理 8.2:
高斯消元法中的任何一种操作(见定理 5.2)都不会改变 $m \times n$ 矩阵 $\mx{A}$ 的行空间。

照例将 $\mx{A}$ 的各行记作 $\vc{a}_{i,}^{\T}$,其中 $i\in\{1,\dots,m\}$。证明中用下列记法表示定理 5.2中的操作:
  1. $(i)$:$\vc{a}_{i,}^{\T} \leftrightarrow \vc{a}_{j,}^{\T}$ 表示交换两行;
  2. $(ii)$:$\vc{a}_{i,}^{\T} \rightarrow k\vc{a}_{i,}^{\T}$ 表示某行乘以非零常数 $k$;
  3. $(iii)$:$\vc{a}_{i,}^{\T} \rightarrow \vc{a}_{i,}^{\T} + \vc{a}_{j,}^{\T}$ 表示把一行加到另一行上。
$(i)$:第一项操作只改变各行的次序,显然不改变行空间。
$(ii)$:实施此操作前后,矩阵只有第 $i$ 行不同。 由式(8.12),行空间可表示为
\begin{equation} \underbrace{ k_1 \vc{a}_{1,}^{\T} + \dots + k_i \vc{a}_{i,}^{\T} + \dots + k_m \vc{a}_{m,}^{\T} }_{\mathrm{行空间}}, \end{equation} (8.17)
它可改写为
\begin{gather} k_1 \vc{a}_{1,}^{\T} + \dots + k_i \vc{a}_{i,}^{\T} + \dots + k_m \vc{a}_{m,}^{\T}\\ \Longleftrightarrow \\ k_1 \vc{a}_{1,}^{\T} + \dots + \left(\frac{k_i}{k}\right) \left( k \vc{a}_{i,}^{\T}\right) + \dots + k_m \vc{a}_{m,}^{\T}. \end{gather} (8.18)
把 $k \vc{a}_{i,}^{\T}$ 看作一个“新”行向量,把 $k_i/k$ 看作其前面的任意常数, 则式(8.18)第一行所能表示的任意向量,最后一行也能表示,反之亦然。故第二项操作保持行空间不变。
$(iii)$:对于第三项操作 $\vc{a}_{i,}^{\T} \rightarrow \vc{a}_{i,}^{\T} + \vc{a}_{j,}^{\T}$,把 式(8.17)改写为
\begin{gather} k_1 \vc{a}_{1,}^{\T} + \dots + k_i \vc{a}_{i,}^{\T} + \dots + k_j \vc{a}_{j,}^{\T} + \dots + k_m \vc{a}_{m,}^{\T}\\ \Longleftrightarrow \\ k_1 \vc{a}_{1,}^{\T} + \dots + k_i (\vc{a}_{i,}^{\T} + \vc{a}_{j,}^{\T}) + \dots + (k_j-k_i) \vc{a}_{j,}^{\T} + \dots + k_m \vc{a}_{m,}^{\T}. \end{gather} (8.19)
其中 $\vc{a}_{i,}^{\T} + \vc{a}_{j,}^{\T}$ 是更新后的行向量。$\vc{a}_{j,}^{\T}$ 前的系数变为 $k_j-k_i$,适当改变 $k_j$ 便可取任意值。 因而 $\mx{A}$ 的行空间包含于实施操作 $(iii)$ 后所得矩阵的行空间。 还需证明反向包含 $(\leftarrow)$。由于
\begin{gather} k_1 \vc{a}_{1,}^{\T} + \dots + k_i (\vc{a}_{i,}^{\T} + \vc{a}_{j,}^{\T}) + \dots + k_j \vc{a}_{j,}^{\T} + \dots + k_m \vc{a}_{m,}^{\T}\\ \Longleftrightarrow \\ k_1 \vc{a}_{1,}^{\T} + \dots + k_i \vc{a}_{i,}^{\T} + \dots + (k_j+k_i) \vc{a}_{j,}^{\T} + \dots + k_m \vc{a}_{m,}^{\T}, \end{gather} (8.20)
同理,实施操作 $(iii)$ 后所得矩阵的行空间也包含于原矩阵的行空间。 证明完毕。
$\square$


务必注意,定理 8.2只适用于行空间,不适用于列空间。

下面为高斯消元后所得矩阵引入一个专门术语。

定义 8.7: 矩阵的行阶梯形
若矩阵 $\mx{A}$ 的全零行(若有)均置于底部,并且每个第 $i$ 行的首个非零系数 $a_{ij}$ 都满足: 对其上方任一非零行(即 $i'行阶梯形。
持续实施高斯消元法,直至无法继续消元,便可得到行阶梯形矩阵。 行阶梯形具有类似三角矩阵的结构,例如
\begin{equation} \left( \begin{array}{rrrrr} \underline{2} & 0 & 1 & -2 & 1 \\ 0 & \underline{1} & 4 & 2 & 1 \\ 0 & 0 & 0 & \underline{1} & 2 \\ 0 & 0 & 0 & 0 & 0 \\ \end{array} \right). \end{equation} (8.21)
因此,这类矩阵有时也称为 $\mx{A}$ 的“阶梯等价”矩阵。 上式中加下划线的首个非零系数十分重要,通常称为主元。 有些教材要求这些首个非零系数均化为 1,只需把整行除以该首个非零系数即可;本书不作此要求。

下述定理说明如何求行空间的基向量及其维数。

定理 8.3:
给定方程组 $\mx{A}\vc{x}=\vc{0}$,经高斯消元化为行阶梯形 $\mx{R}\vc{x}=\vc{0}$,即 $\mx{A}\vc{x} = \vc{0} \Longleftrightarrow \mx{R}\vc{x} = \vc{0}$,则
  1. $\mx{R}$ 的非零行构成其行空间的一组基;由定理 8.2,它们也构成 $\mx{A}$ 行空间的一组基;
  2. $\mx{R}$ 中各非零行首个非零元素所在的列向量,构成 $\mx{R}$ 列空间的一组基; $\mx{A}$ 列空间的一组基则取自 $\mx{A}$ 中列号与上述列相同的列向量。

要证明这些非零行构成一组基,需证明:(i) 它们张成该空间;(ii) 它们线性无关。
(i) 任意行向量的组合显然也可写成非零行的组合,故非零行张成行空间。
(ii) 行阶梯形矩阵的任一非零行都不能由其他行线性组合得到,因为在该行首个非零元素所在的列中,其下方各行对应元素均为 0。故这些非零行线性无关。
$\square$


注意,行空间或列空间的基向量个数,分别就是行秩或列秩。

下面证明行空间的维数(行秩)等于列空间的维数(列秩)。随后再用一个例子说明如何求行空间与列空间的基。

定理 8.4: 行秩与列秩相等
矩阵 $\mx{A}$ 的行秩等于列秩。

设 $\mx{A}$ 的行秩为 $k$,且 $\{ \vc{b}_{1,}^\T,\dots,\vc{b}_{k,}^\T \}$ 是其行空间的一组基。 $\mx{A}$ 的第 $i$ 行为 $\vc{a}_{i,}^\T = \left(a_{i1}, a_{i2},\dots,a_{in} \right)^\T$, 亦可用这组基写成 $\vc{a}_{i,}^\T = \sum_{r=1}^k c_{ir} \vc{b}_{r,}^\T$,其中 $c_{ir}$ 为常数。于是 $\vc{a}_{i,}^\T$ 的第 $j$ 个元素为
\begin{equation} a_{ij} = \sum_{r=1}^k c_{ir} b_{rj}, \end{equation} (8.22)
此式对任意列号 $j$ 都成立。因此,第 $j$ 个列向量为
\begin{equation} \vc{a}_{,j} = \begin{pmatrix} a_{1j}\\ \vdots \\ a_{mj} \end{pmatrix} = \sum_{r=1}^k b_{rj} \vc{d}_{r}, \ \ \mathrm{其中}\ \ \vc{d}_{r} = \begin{pmatrix} c_{1r} \\ \vdots \\ c_{mr} \end{pmatrix}. \end{equation} (8.23)
这说明 $\mx{A}$ 的每一列都是 $k$ 个向量的线性组合,因此 $\colrank(\mx{A})$ 至多为 $k$,即 $\colrank(\mx{A}) \leq \rowrank(\mx{A})$。 将此结论用于 $\mx{A}$ 的转置,得 $\colrank(\mx{A}^\T) \leq \rowrank(\mx{A}^\T)$, 也就是 $\rowrank(\mx{A}) \leq \colrank(\mx{A})$。结合前一个不等式,得到 $\rowrank(\mx{A}) = \colrank(\mx{A})$。
$\square$


此后无需再区分 $\rowrank(\mx{A})$ 与 $\colrank(\mx{A})$,统一称为矩阵的,记作 $\rank(\mx{A})$。上述定理也可写成 $\rank(\mx{A})= \rank(\mx{A}^{\T})$。 因此,若要找矩阵 $\mx{A}$ 的列空间基向量,可先将其转置为 $\mx{A}^{\T}$,再应用定理 8.3。 下面用一个例子说明如何求列空间的一组基。

例 8.7:
例 8.4可得
\begin{equation} \underbrace{ \left( \begin{array}{rrrrr|r} 2 & 0 & 1 & -2 & 1 & 0\\ 2 & 1 & 5 & 0 & 2 & 0\\ 0 & 1 & 4 & 2 & 1 & 0\\ 0 & 0 & 0 & 1 & 2 & 0\\ \end{array} \right) }_{\mx{A}} \Leftrightarrow \underbrace{ \left( \begin{array}{rrrrr|r} 2 & 0 & 1 & -2 & 1 & 0\\ 0 & 1 & 4 & 2 & 1 & 0\\ 0 & 0 & 0 & 1 & 2 & 0\\ 0 & 0 & 0 & 0 & 0 & 0\\ \end{array} \right) }_{\mx{R}}. \end{equation} (8.24)
利用定理 8.3第 1 条, 从 $\mx{R}$ 得到以下行空间基向量:
\begin{gather} \begin{pmatrix} 2 & 0 & 1 & -2 & 1 \end{pmatrix} \\ \begin{pmatrix} 0 & 1 & 4 & 2 & 1 \end{pmatrix} \\ \begin{pmatrix} 0 & 0 & 0 & 1 & 2 \end{pmatrix}, \end{gather} (8.25)
因为它们正是 $\mx{R}$ 的非零行。因此 $\rank(\mx{A})=3$。

定理 8.3第 2 条 还告诉我们,$\mx{R}$ 的列空间基向量为
\begin{equation} \left(\begin{array}{c} 2 \\ 0 \\ 0 \\ 0 \end{array} \right), \ \ \ \left(\begin{array}{c} 0 \\ 1 \\ 0 \\ 0 \end{array} \right), \ \ \ \textrm{以及}\ \ \ \left(\begin{array}{r} -2 \\ 2 \\ 1 \\ 0 \end{array} \right), \end{equation} (8.26)
即逐行找出首个非零元素,再取该元素所在的列向量。 $\mx{A}$ 的列空间基向量,则从 $\mx{A}$ 中取与 $\mx{R}$ 上述列向量列号相同的列,即
\begin{equation} \left(\begin{array}{c} 2 \\ 2 \\ 0 \\ 0 \end{array} \right), \ \ \ \left(\begin{array}{c} 0 \\ 1 \\ 1 \\ 0 \end{array} \right), \ \ \ \textrm{以及}\ \ \ \left(\begin{array}{r} -2 \\ 0 \\ 2 \\ 1 \end{array} \right). \end{equation} (8.27)
列空间由上面三个向量张成,所以从列空间同样得到 $\rank(\mx{A})=3$。这与 $\colrank(\mx{A})=\rowrank(\mx{A})$ 一致。

定理 8.5:
矩阵的秩等于高斯消元后主元的个数。

矩阵 $\mx{A}$ 的行秩等于高斯消元所得矩阵 $\mx{R}$ 的行空间维数。$\mx{R}$ 行空间的一组基由含主元的各行构成,因此其维数,也就是矩阵的秩,等于主元个数。
$\square$


下面给出矩阵乘积之秩的上界。

定理 8.6: 乘积的秩
乘积 $\mx{A} = \mx{B} \mx{C}$ 的秩不大于任一因子的秩,即
\begin{equation} \rank \mx{A} \leq \rank \mx{C}, \end{equation} (8.28)
\begin{equation} \rank \mx{A} \leq \rank \mx{B}. \end{equation} (8.29)

如前所示,乘积 $\mx{A}$ 的每一行都是 $\mx{C}$ 各行的线性组合。因此,$\mx{A}$ 的所有行都在 $\mx{C}$ 的行空间中,从而 $\rank \mx{A} \leq \rank \mx{C}$。这就证明了乘积的秩不大于最右侧因子的秩。
另一个不等式可通过考察 $\mx{A}$ 的各列来证明,它们是 $\mx{B}$ 各列的线性组合。也可利用 $\mx{A}^T = \mx{C}^T \mx{B}^T$:此时最右侧因子是 $\mx{B}^T$,故 $\rank \mx{A}^T \leq \rank \mx{B}^T$,于是 $ \rank \mx{A} = \rank \mx{A}^T \leq \rank \mx{B}^T = \rank \mx{B} $.
$\square$



定理 8.7:
设 $\vc{x}_\mathrm{h}$ 是 $\mx{A}\vc{x}=\vc{0}$ 的通解,$\vc{x}_\mathrm{p}$ 是 $\mx{A}\vc{x}=\vc{y}$ 的一个特解,则 $\mx{A}\vc{x}=\vc{y}$ 的全部解为
\begin{equation} \vc{x}_{\mathrm{tot}} = \vc{x}_\mathrm{p} + \vc{x}_\mathrm{h}. \end{equation} (8.30)

已知 $\mx{A}\vc{x}_\mathrm{h}=\vc{0}$ 且 $\mx{A}\vc{x}_\mathrm{p}=\vc{y}$。 由下式即得结论:
\begin{gather} \mx{A}\vc{x}_\mathrm{p}=\vc{y} \\ \Longleftrightarrow \\ \mx{A}\vc{x}_\mathrm{p} + \vc{0}=\vc{y} \\ \Longleftrightarrow \\ \mx{A}\vc{x}_\mathrm{p} + \mx{A}\vc{x}_\mathrm{h} =\vc{y} \\ \Longleftrightarrow \\ \mx{A}(\underbrace{\vc{x}_\mathrm{p} + \vc{x}_\mathrm{h}}_{\vc{x}_{\mathrm{tot}}}) =\vc{y}. \end{gather} (8.31)
$\square$


现在已知 $\vc{x}_h$ 位于 $\mx{A}$ 的零空间中,而 $\vc{y}$ 必须位于 $\mx{A}$ 的列空间中,否则 $\mx{A}\vc{x}=\vc{y}$ 无解。 交互式图解 8.3展示了这两类解如何相互作用。
$\vc{x}_h$
$\vc{x}_p$
$\vc{x}_{\mathrm{tot}}$
交互式图解 8.3: 设有齐次方程组 $\mx{A}\vc{x}=\vc{0}$,其解记为 $\vc{x}_h$。如图所示,本例的解集是一条直线。拖动滑块改变 $\vc{x}_h$ 的位置,再点按前进继续。
交互式图解 8.3: 设有齐次方程组 $\hid{\mx{A}\vc{x}=\vc{0}}$,其解记为 $\hid{\vc{x}_h}$。如图所示,本例的解集是一条直线。拖动滑块改变 $\hid{\vc{x}_h}$ 的位置,再点按前进继续。
下述维数定理十分实用:只要知道零空间的维数或矩阵的秩,再知道矩阵的列数,就能求出另一个量。

定理 8.8: 维数定理
对任意 $m\times n$ 矩阵 $\mx{A}$(即有 $n$ 列),都有
\begin{equation} \rank(\mx{A}) + \nullity(\mx{A}) = n. \end{equation} (8.32)

若 $\rank(\mx{A})=n$,则矩阵满列秩;在方阵情形其行列式非零,矩阵可逆。因此 $\mx{A}\vc{x}=\vc{0}$ 只有零解, 即 $\nullity(\mx{A})=0$,从而 $\rank(\mx{A})+0=n$。 再设 $\rank(\mx{A})=r例 8.4中的 $s$ 和 $t$。把它们记作 $s_1,\dots,s_{n-r}$。 相应地有 $n-r$ 个线性无关的零空间基向量,记作 $\vc{x}_1,\dots,\vc{x}_{n-r}$。于是解为
\begin{equation} \vc{x} = s_1\vc{x}_1 + \dots + s_{n-r}\vc{x}_{n-r}. \end{equation} (8.33)
因而 $\vc{x}_1,\dots,\vc{x}_{n-r}$ 构成零空间的一组基,且 $\nullity(\mx{A}) = n-r$。定理得证。
$\square$


回顾:$\nullity(\mx{A})$ 决定描述齐次方程组 $\mx{A}\vc{x}=\vc{0}$ 的解所需的参数个数;$\rank(\mx{A})$ 则刻画方程 $\mx{A}\vc{x}=\vc{y}$ 可解时,右端向量 $\vc{y}$ 所在空间的维数。这两个数之和恰好是 $\mx{A}$ 的列数 $n$。

例 8.8: 维数定理
例 8.4例 8.7中, 矩阵 $\mx{A}$ 的大小为 $4\times 5$,即 $m=4$、$n=5$。我们先得到
\begin{equation} \nullity(\mx{A}) = 2 \end{equation} (8.34)
随后得到
\begin{equation} \rank(\mx{A}) = 3. \end{equation} (8.35)
维数定理 8.8断言 $2+3=n$,其中 $n$ 为矩阵列数。这里确有 $n=5$,结论成立。
可把 $\mx{A}$ 看作一个变换或线性映射(见第 9 章),而 $n$ 是 $\mx{A}$ 定义域的维数。 这样,$\rank(\mx{A})$ 可理解为施加 $\mx{A}$ 后“保留下来”的维数,$\nullity(\mx{A})$ 则是被 $\mx{A}$“压缩掉”的维数。

例 8.9: 再论点到平面的正交投影
例 3.10中,把点 $P$ 投影到由法向量 $\vc{n}$ 和平面上一点 $S$ 所确定的平面;本例令 $S$ 为原点 $O$。 $P$ 在平面上的正交投影可表示为
\begin{equation} Q = P - \proj{\vc{n}}{\vc{v}}, \end{equation} (8.36)
其中 $Q$ 为投影点,$\vc{v}=P-O$。 正交投影公式(定义 3.2)为 $\proj{\vc{n}}{\vc{v}} = \left((\vc{v} \cdot \vc{n})/\ln{\vc{n}}^2\right) \vc{n} $ 因而 $Q$ 可改写为
\begin{equation} Q = P - \frac{\vc{v} \cdot \vc{n}}{\vc{n} \cdot \vc{n}} \vc{n}. \end{equation} (8.37)
为使用矩阵运算,需以向量代替点。令 $\vc{q} = \overrightarrow{OQ}$,并已有 $\vc{v} = \overrightarrow{OP}$,于是
\begin{align} \vc{q} &= \vc{v} - \frac{\vc{v} \cdot \vc{n}}{\vc{n} \cdot \vc{n}} \vc{n} \\ &= \frac{1}{f} \begin{pmatrix} fv_x - n_x n_x v_x - n_x n_y v_y - n_x n_z v_z\\ fv_y - n_y n_x v_x - n_y n_y v_y - n_y n_z v_z\\ fv_z - n_z n_x v_x - n_z n_y v_y - n_z n_z v_z \end{pmatrix}, \end{align} (8.38)
其中 $f = \ln{\vc{n}}^2 = \vc{n} \cdot \vc{n}$。有趣的是,这可表示为矩阵与向量之积:
\begin{align} \vc{q} &= \underbrace{ \frac{1}{f} \begin{pmatrix} f - n_x^2 & - n_x n_y & - n_x n_z \\ - n_y n_x & f - n_y^2 & - n_y n_z \\ - n_z n_x & - n_z n_y & f - n_z^2 \end{pmatrix} }_{\mx{A}} \underbrace{ \begin{pmatrix} v_x \\ v_y \\ v_z \end{pmatrix} }_{\vc{v}} = \mx{A}\vc{v}. \end{align} (8.39)
输入是 $\R^3$ 中的三维向量,所以定义域维数为 3。 只有平面内的向量被“保留下来”,故立即得到 $\rank(\mx{A})=2$;又因压缩掉一个维数,故 $\nullity(\mx{A})=1$。

$P$
$O$
$\vc{n}$
$\vc{v}$
$\proj{\vc{n}}{\vc{v}}$
$-\proj{\vc{n}}{\vc{v}}$
$Q$
$\vc{q}$
交互式图解 8.4: 本图展示点 $P$(灰色圆点)如何正交投影到由法向量 $\vc{n}$ 和原点 $O$ 确定的平面上。图中可拖动点 $P$。点按前进开始。
交互式图解 8.4: 最后,点 $\hid{P}$ 已正交投影到平面上,投影点 $\hid{Q}$ 以红色圆点表示,于是 $\hid{\vc{q}=Q-O}$。矩阵 $\hid{\mx{A}}$ 可按 $\hid{\vc{q}=\mx{A}\vc{v}}$ 直接计算 $\hid{\vc{q}}$。输入向量 $\hid{\vc{v}\in\R^3}$ 是三维的,但投影向量 $\hid{\vc{q}}$ 始终位于浅蓝色平面内,故 $\hid{\rank(\mx{A})=2}$。该变换压缩掉一个维数,所以 $\hid{\nullity(\mx{A})=1}$。
下面考察 $\mx{A}$ 的零空间。由第 8.2 节可知,对 $\mx{A}\vc{x}=\vc{0}$ 实施高斯消元即可求得零度。不失一般性, 设 $\vc{n}=(0,0,1)$,即 $f=1$,且 $S=O=(0,0,0)$。得到
\begin{equation} \left( \begin{array}{rrr|r} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 0 \end{array} \right), \end{equation} (8.40)
结果已是行阶梯形;末行全为零,故 $\rank(\mx{A})=2$。 令 $p_z=t$($t\in\R$),不影响前两行,因而零空间由 $(0,0,t)$ 张成,即 $\nullity(\mx{A})=1$。 这很合理:法向量为 $\vc{n}=(0,0,1)$,所有向量都被 $\mx{A}$ 压缩到平面 $z=0$ 上。 列空间的基向量是第一、第二个列向量,即
\begin{gather} \vc{b}_1 = \begin{pmatrix} 1\\ 0\\ 0 \end{pmatrix} \ \ \ \mathrm{以及}\ \ \ \vc{b}_2 = \begin{pmatrix} 0\\ 1\\ 0 \end{pmatrix}. \end{gather} (8.41)
因此,列空间由下列所有向量构成:
\begin{equation} \vc{q} = u\vc{b}_1 + v\vc{b}_2 = \begin{pmatrix} u\\ v\\ 0 \end{pmatrix}, \end{equation} (8.42)
其中 $u,v\in\R$,这也说明 $\rank(\mx{A})=2$。 最后,定理 8.8断言 $\rank(\mx{A})+\nullity(\mx{A})=n$;本例中 $2+1=3$,确实成立。

例 8.10:
本例继续说明如何计算秩、零度等。先给出 $4\times 6$ 矩阵
\begin{equation} \mx{A}= \left( \begin{array}{rrrrrr} 1 & 1 & 1 & 1 & 1 & 1 \\ 1 & 1 & 1 & 0 & 1 & 0 \\ 1 & 1 & -1 & 0 & -1 & 2 \\ 1 & 1 & 1 & 0 & 1 & 2 \\ \end{array} \right). \end{equation} (8.43)
对矩阵实施高斯消元,将其化为行阶梯形。 首先,分别用第 2、3、4 行减去第 1 行,得到
\begin{equation} \left( \begin{array}{rrrrrr} 1 & 1 & 1 & 1 & 1 & 1 \\ 0 & 0 & 0 & 1 & 0 & 1 \\ 0 & 0 & 2 & 1 & 2 & -1 \\ 0 & 0 & 0 & 1 & 0 & -1 \\ \end{array} \right). \end{equation} (8.44)
再用第 4 行减去第 2 行,并把结果置于第 4 行,得到
\begin{equation} \left( \begin{array}{rrrrrr} 1 & 1 & 1 & 1 & 1 & 1 \\ 0 & 0 & 0 & 1 & 0 & 1 \\ 0 & 0 & 2 & 1 & 2 & -1 \\ 0 & 0 & 0 & 0 & 0 & 2 \\ \end{array} \right). \end{equation} (8.45)
最后交换第 2、3 行,得到行阶梯形矩阵
\begin{equation} \mx{R}= \left( \begin{array}{rrrrrr} 1 & 1 & 1 & 1 & 1 & 1 \\ 0 & 0 & 2 & 1 & 2 & -1 \\ 0 & 0 & 0 & 1 & 0 & 1 \\ 0 & 0 & 0 & 0 & 0 & 2 \\ \end{array} \right), \end{equation} (8.46)
现在将其用于 $\mx{R}\vc{x}=\vc{0}$。由末行立即得到 $2x_6=0$,即 $x_6=0$。 由第 3 行得 $x_4+x_6=0$,故 $x_4=0$。 第 2 行给出 $2x_3+2x_5=0$,即 $x_3+x_5=0$。令 $x_5=t$,则 $x_3=-t$。 首行给出 $x_1+x_2+x_3+x_4+x_5+x_6=x_1+x_2=0$。令 $x_2=s$,则 $x_1=-s$。 因而齐次方程组 $\mx{A}\vc{x}=\vc{0}$ 的解为
\begin{equation} \vc{x}_h= \left( \begin{array}{r} -s \\ s \\ -t \\ 0 \\ t \\ 0 \end{array} \right) = s \underbrace{ \left( \begin{array}{r} -1 \\ 1 \\ 0 \\ 0 \\ 0 \\ 0 \end{array} \right)}_{\vc{z}^1} + t \underbrace{ \left( \begin{array}{r} 0 \\ 0 \\ -1 \\ 0 \\ 1 \\ 0 \end{array} \right)}_{\vc{z}^2}. \end{equation} (8.47)
表达式中有两个参数 $s,t$,故 $\nullity(\mx{A})=2$;零空间基向量为 $\vc{z}^1$ 与 $\vc{z}^2$。 由于 $n=6$,故 $\rank(\mx{A})=6-2=4$。 $\mx{R}$ 的四个行向量张成行空间;$\mx{A}$ 的四个行向量也张成同一行空间,因为高斯消元不改变行空间。 在 $\mx{R}$ 中,各行首个非零元素分别位于第 1、3、4、6 列,因此 $\mx{A}$ 的第 1、3、4、6 个列向量张成其列空间。 注意 $\mx{A}\vc{z}^1=\vc{0}$ 且 $\mx{A}\vc{z}^2=\vc{0}$(可自行做矩阵与向量乘法验证)。
8.4 秩与行列式


第 7 章介绍了方阵行列式的多种计算方法。利用子式(见定义 7.8),也可求矩阵的秩,如下述定理所示。

定理 8.9:
$m\times n$ 矩阵 $\mx{A}$ 的秩,是使某个 $r\times r$ 子式非零的最大整数 $r$。

证明分两部分:先证矩阵的秩至少为 $r$,再证至多为 $r$。
$i)$ 设 $\mx{S}$ 是一个行列式 $d=|\mx{S}|\neq0$ 的 $r\times r$ 子矩阵。它由 $\mx{A}$ 删去 $m-r$ 行和 $n-r$ 列得到。 取 $\mx{A}$ 中未删去的 $r$ 行组成矩阵 $\mx{B}$,则 $\mx{S}$ 包含在 $\mx{B}$ 中。因 $d\neq0$,$\mx{S}$ 的 $r$ 个列向量线性无关,故 $\mx{B}$ 至少有 $r$ 个线性无关列,秩至少为 $r$。 而 $\mx{B}$ 只有 $r$ 行,故其秩恰为 $r$,其 $r$ 个行向量线性无关。于是 $\mx{A}$ 也至少有 $r$ 个线性无关行,即 $\rank(\mx{A})\ge r$。
$ii)$ 再证 $\rank(\mx{A})\le r$。设 $\mx{A}$ 有 $t$ 个线性无关行,以这些行组成矩阵 $\mx{C}$,则 $\rank(\mx{C})=t$,故 $\mx{C}$ 也有 $t$ 个线性无关列。 保留这些列、删去其余列,得到一个 $t\times t$ 矩阵。其列线性无关,故行列式非零;这个行列式也是 $\mx{A}$ 的一个 $t\times t$ 子式。 由 $r$ 的最大性,必有 $t\le r$,即 $\rank(\mx{A})\le r$。
$\square$


定理 8.9定理 7.8可知,$n\times n$ 方阵 $\mx{A}$ 可逆的必要条件是 $\rank(\mx{A})=n$。

例 8.11:
计算下列 $4\times 4$ 矩阵的秩:
\begin{equation} \mx{A} = \left( \begin{array}{rrrr} 1 & 1 & 1 & 0 \\ 1 & 0 & 1 & 1 \\ 0 & 2 & 1 & -2 \\ 1 & 2 & 2 & -1 \\ \end{array} \right). \end{equation} (8.48)
$\mx{A}$ 的行列式为零(留作练习),故其秩小于 4。 再计算一个 $3\times 3$ 子式,例如
\begin{equation} D_{11} = \left| \begin{array}{rrr} 0 & 1 & 1 \\ 2 & 1 & -2 \\ 2 & 2 & -1 \\ \end{array} \right| = 0, \end{equation} (8.49)
$D_{11}=0$ 尚不能得出新结论;事实上 $D_{12}=D_{13}=D_{14}=0$。 继续删去第 2 行和第 1 列,得到
\begin{equation} D_{21} = \left| \begin{array}{rrr} 1 & 1 & 0 \\ 2 & 1 & -2 \\ 2 & 2 & -1 \\ \end{array} \right| = 1, \end{equation} (8.50)
至少有一个 $3\times 3$ 子式非零(这里 $D_{21}\neq0$),而唯一的 $4\times4$ 子式即原行列式为零。由定理 8.9,$\rank(\mx{A})=3$。
8.5 导论示例再探


例 8.12: 由声音恢复结构问题
交互式图解 8.2中,我们研究了如何从测得的声音同时确定声源位置与麦克风位置。在实际问题中,信号处理可得到所谓的到达时间差测量。为简化叙述,这里考察同一问题的“到达时间”版本。

本例有 $m=8$ 个麦克风。令列向量 $\vc{r}_i$($i=1,\dots,m$)表示这些麦克风的三维位置。再从录音中选取 $n$ 个时刻,令 $\vc{s}_j$($j=1,\dots,n$)表示各时刻声源发声位置的三维坐标。 设测得第 $j$ 次发声到达第 $i$ 个麦克风的传播时间 $t_{ij}$。乘以声速 $v$,便得到距离
\begin{equation} d_{ij} = v t_{ij} = {\ln{\mathbf{r}_i - \mathbf{s}_j}}. \end{equation} (8.51)
问题变为:由距离测量值 $d_{ij}$ 同时求出 $\vc{r}_i$ 与 $\vc{s}_j$。

将测量方程式(8.51)两边平方,
\begin{equation} d_{ij}^2= ( \mathbf{r}_{i} - \mathbf{s}_{j} )^T ( \mathbf{r}_{i} - \mathbf{s}_{j} ) = \mathbf{r}_{i}^T\mathbf{r}_{i} + \mathbf{s}_{j} ^T\mathbf{s}_{j} - 2 \mathbf{r}_{i}^T \mathbf{s}_{j} \end{equation} (8.52)
得到关于未知量的 $mn$ 个多项式方程。

定义压缩矩阵 $\mathbf{B}$ 为
\begin{equation} \mathbf{B}= \begin{pmatrix} \frac{d_{22}^2 - d_{21}^2 - d_{12}^2 + d_{11}^2}{-2} &\dots& \frac{d_{2n}^2 - d_{21}^2 - d_{1n}^2 + d_{11}^2}{-2} \\ \vdots &\ddots& \vdots \\ \frac{d_{m2}^2 - d_{21}^2 - d_{12}^2 + d_{11}^2}{-2} &\dots& \frac{d_{2n}^2 - d_{21}^2 - d_{1n}^2 + d_{11}^2}{-2} \end{pmatrix} \end{equation} (8.53)
下面将说明 $\mathbf{B}$ 的秩至多为 3。

\begin{equation} \mathbf{q}_i = \left[ \begin{matrix} (\mathbf{r}_{i} - \mathbf{r}_1) \end{matrix} \right] \end{equation} (8.54)
以及
\begin{equation} \mathbf{t}_j = \left[ \begin{matrix} ( \mathbf{s}_{j} - \mathbf{s}_1) \end{matrix} \right] \end{equation} (8.55)
分别表示其余接收位置相对于第一个接收位置、其余发声位置相对于第一个发声位置的向量。 把它们分别作为矩阵 $\mathbf{R}$ 与 $\mathbf{S}$ 的列向量,于是
\begin{equation} \mathbf{R}= \left[ \begin{matrix} \mathbf{q}_2 \ldots \mathbf{q}_m \end{matrix} \right] \end{equation} (8.56)
\begin{equation} \mathbf{S}= \left[ \begin{matrix} \mathbf{t}_2 \ldots \mathbf{t}_n \end{matrix} \right] . \end{equation} (8.57)
这样,大小为 $(m-1)\times(n-1)$ 的压缩矩阵约束可写成
\begin{equation} \mathbf{B} = \mathbf{R}^\T \mathbf{S}, \end{equation} (8.58)
矩阵 $\mathbf{R}^\T$ 只有三列,故其秩至多为 3;同样,$\mathbf{S}$ 只有三行,故其秩也至多为 3。 由定理 8.6,乘积 $\mathbf{B}=\mathbf{R}^\T\mathbf{S}$ 的秩不大于任一因子的秩。因此 $\mathbf{B}$ 的秩至多为 3。

上一例说明,由测量值构造的矩阵 $\mathbf{B}$ 与待求参数满足 $\mathbf{B}=\mathbf{R}^\T\mathbf{S}$。那么,如何由 $\mathbf{B}$ 求出 $\mathbf{R}$ 与 $\mathbf{S}$?换言之,如何把 $\mathbf{B}$ 分解成两个因子之积?这属于矩阵分解的范畴,在许多应用中非常有用,但已超出本书范围。


第 7 章:行列式(上一章) 第 9 章:线性映射(下一章)