© 2015-2020 Jacob Ström, Kalle Åström, and Tomas Akenine-Möller

正在加载并构建本章……

第 8 章:秩





本章介绍称为 秩(rank) 的概念,它是矩阵的一个性质。 事实上,它揭示了矩阵的若干方面。本章某些例子可能针对方阵给出,但全章内容对矩形矩阵同样适用,例如规模为 $m \times n$ 的矩阵。 我们从声音结构(structure from sound)应用中的一个例子开始。

例 8.1: 从声音恢复结构
应用数学中有许多涉及 概念的例子。其中一个例子是所谓的 从声音恢复结构(structure from sound)问题。在这个例子中,声音在若干固定但位置未知的麦克风处被录制。未知位置在未知时刻发出未知声音。结果表明,仅利用麦克风测得的声信号,仍然可以计算:(i) 麦克风的位置,(ii) 声源的移动轨迹,以及 (iii) 声源发出的时刻。这里 起着重要作用。
图 8.1: 测量场景示意图。声源(左手持握)在移动,而 8 个麦克风固定不动。
图 8.1: 测量场景示意图。声源(左手持握)在移动,而 8 个麦克风固定不动。
图 8.1 展示了测量场景。8 个麦克风在房间内单个声源移动时采集声音。利用这 8 个声音文件可计算麦克风位置和声源移动轨迹。另请参阅以下 YouTube 视频。 计算得到的 3D 声源路径和麦克风位置也可视化于 交互图 8.2 中。
交互图 8.2: 蓝色圆圈表示 8 个麦克风的位置。然而这些位置未知,声源的移动位置也未知。点击/按前进以查看声源路径。
交互图 8.2: 红色声源路径和蓝色麦克风位置由 30 秒的声音录音计算得到。点击左上角的旋转图标可旋转点云,或右键拖动以从任意定向观察模型。
我们首先说明矩阵的 零空间(null space)列空间行空间(row space)。后面将看到,这三个空间本身都是 线性向量空间。它们是 线性子空间的例子,下面就来介绍子空间。
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. 零向量 $\vc{0} \in W$,因为 $\mx{A}\vc{0} = \vc{0}$。
  2. 若 $\vc{v}_1 \in W$ 且 $\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} \in W$,因为 $\vc{0}\in\R^m$ 可由 $\vc{0} \in \R^n$ 通过 $\vc{0} =\mx{A}\vc{0}$ 生成。
  2. 若 $\vc{v}_1 \in W$ 且 $\vc{v}_2 \in W$,则存在 $\vc{u}_1 \in \R^n$ 和 $\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 \in W$,因为 $(\vc{v}_1+\vc{v}_2) = \mx{A}\vc{u}_1+\mx{A}\vc{u}_2 = \mx{A}(\vc{u}_1 + \vc{u}_2)$。
  3. 若 $\vc{u} \in W$ 且 $\lambda \in F$,则存在 $\vc{u} \in \R^n$ 使得 $\vc{v} = \mx{A}\vc{u}$ 。但此时 $\lambda \vc{v}\in W$,因为 $\lambda \vc{v} = \lambda \mx{A}(\vc{u}) = \mx{A} (\lambda \vc{u})$。
这意味着一组向量的 线性组合 全体构成一个 线性 空间。
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}$ 的零空间;在本例中, 零空间 的维数为 1,因为它仅依赖于一个参数,即 $t$。 我们还用术语零化向量(null vector) 表示 $(1/16, -5/8, 1)$。 接下来,我们将其形式化为一则定义。

定义 8.1: 零空间
若 $\mx{A}$ 是 $m\times n$ 矩阵(即有 $m$ 行 $n$ 列),则 $\mx{A}\vc{x}=\vc{0}$ 的全部解集称为 $\mx{A}$ 的零空间
由定义,零空间 必是 $\R^n$ 的子空间,即 $\nullity(\mx{A}) \leq n$。 它是 线性 子空间(见 例 8.2)。该子空间的维数很重要,并有其专门的定义。

定义 8.2: 零化度(nullity)
零空间 的维数记作 $\nullity(\mx{A})$。
由于 零空间 是 $\R^n$ 的子空间,我们有 $\nullity(\mx{A}) \leq n$。但 零空间 低多少维?这大致可由 $\mx{A}\vc{x}=\vc{0}$ 中约束条件的个数来刻画,但此处须谨慎。仅仅因为 $\mx{A}\vc{x}=\vc{0}$ 中有 $m$ 个方程,并不自动意味着 $\nullity(\mx{A}) = n - m$。$\mx{A}$ 中究竟有多少约束条件,正是由 这一概念所刻画的。后面我们将证明 $\nullity(\mx{A}) = n - r$,即维数降低了 $r$(即 $\mx{A}$ 的 ),所用约束来自 $\mx{A}\vc{x}=\vc{0}$。

定义 8.3: 零化向量(null vector)
设 $\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$ 有时称为零化向量(null vector),尽管有时 零空间 中的任意向量也称为零化向量。
利用 高斯消元法,我们可得到 零空间 的一组 ,从而也得到 零空间 的维数。 正是 $\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)
即作为 线性组合(见 定义 5.1), 使用的是 $\mx{A}$ 的 列向量。因此,列空间 就是所有 可由第一个 列向量 的常数倍加上 第二个 列向量 的常数倍,依此类推,所生成的向量全体。 注意,列空间 按定义是 $\R^m$ 的子空间,因为 $\mx{A}$ 的所有 列向量 的元素个数均为 $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}$ 的 行向量。 因此,行空间 就是所有 可由第一个 行向量 的常数倍加上 第二个 行向量 的常数倍,依此类推,所生成的向量全体。 注意,行空间 按定义是 $\R^n$ 的子空间,因为 $\mx{A}$ 的所有 行向量 的元素个数均为 $n$。

例 8.5: 列空间 1
在本例中,我们继续沿用 例 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{and}\ \ \ \ \left( \begin{array}{r} -2 \\ 2 \\ 1 \\ 0 \end{array} \right). \end{align} (8.14)
由于 列空间 有 3 个 向量,$\mx{A}$ 的 列空间 的维数也是 3。 这种方法为何有效,将在本章后面说明。

例 8.6: 列空间 2
假设我们有
\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}$ 与 $\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})$,它是 $\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{row\ space}}, \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) 第一 中可表示的一切,也都能表示于 式 (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}$ 的位置满足:凡首项非零系数为 $a_{i'j'}$ 的其他行均满足 $i' < i$(行 $i'$ 位于行 $i$ 之上)且 $j' < j$。
请注意,处于 行阶梯形 的矩阵可通过反复应用 高斯消元法 直至无法继续约化而得到。 这使得处于 行阶梯形 的矩阵具有类 三角 结构,例如
\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}$ 的「阶梯等价」矩阵。 前式中下划线的首项非零系数 十分重要。这些矩阵元素常称为主元(pivot element)。 有些教材要求将这些首项非零系数化为 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}$ 的非零行构成 $\mx{R}$ 的 行空间 的一组 ,且由 定理 8.2 可知也构成 $\mx{A}$ 的行空间的一组基,且
  2. 行向量中首项非零元所在的列向量 构成 $\mx{R}$ 的 列空间 ,而 $\mx{A}$ 的 列空间 是从 $\mx{A}$ 中取出列号与 $\mx{R}$ 的 列空间 列号相同的 列向量

要证非零行构成一组 ,需证 (i) 它们张成该空间,(ii) 它们线性无关。
(i) 行的任意线性组合显然也是非零行的线性组合。 因此非零行张成 行空间
(ii) 证它们线性无关。行阶梯形 矩阵的任一非零行不可能是其余行的线性组合,因为在该行的首项 1 所在列,其余行均为 0。故非零行线性无关。
$\square$


请注意,行/列空间 向量个数即为行/列秩

接下来,我们将证明 行空间 的维数(即 行秩)与 列空间 的维数(即 列秩)相等。在下列定理之后,我们将举例说明如何求行空间与 列空间

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

设 $\mx{A}$ 的 行秩 为 $k$,且 $\{ \vc{b}_{1,}^\T,\dots,\vc{b}_{k,}^\T \}$ 是 $\mx{A}$ 的 行空间 。 $\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{where}\ \ \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})$ 相同;又由于一开始有 $\colrank(\mx{A}) \leq \rowrank(\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{and}\ \ \ \left(\begin{array}{r} -2 \\ 2 \\ 1 \\ 0 \end{array} \right), \end{equation} (8.26)
即,逐行找到首项非零元,并取该元素所在的 列向量。 $\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{and}\ \ \ \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}$ 除 $\vc{x}=\vc{0}$ 外无其他解, 即 $\nullity(\mx{A})=0$,亦即 $\rank(\mx{A})+0=n$。故该情形下定理成立。 接下来设 $\rank(\mx{A}) < n$。此时 $\mx{A}\vc{x}=\vc{0}$ 的解中必有 $n-r$ 个自由变量。所谓自由变量,例如 例 8.4 中的 $s$ 与 $t$。 记这些自由变量为 $s_1$、$\dots$、$s_{n-r}$。 共有 $n-r$ 个 线性无关 的零化向量(null vector),记作 $\vc{x}_1$、$\dots$、$\vc{x}_{n-r}$。 如我们所知,$\mx{A}\vc{x}=\vc{0}$ 的解由
\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}$ 的个数。 最后,这两个数之和为 $n$,即 $\mx{A}$ 的列数。

例 8.8: 维数定理
例 8.4例 8.7 中, 我们有 $4\times 5$ 矩阵 $\mx{A}$,即 $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$ 为 矩阵的列数。可见这是正确的,因为 $m=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$,在本例中我们假设其为原点 $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)
定义域 的维数为 3,因为 $\R^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}}$ 为 $\hid{\vc{q} = \mx{A}\vc{v}}$。点 $\hid{\vc{v}}$ 是三维的, 即 $\hid{\vc{v} \in \R^3}$。但请注意,投影点 $\hid{\vc{q}}$ 始终位于浅蓝色平面内, 也就是说,所有点 $\hid{\vc{q}}$ 的集合是二维的,这又意味着 $\hid{\rank(\mx{A}) = 2}$。该矩阵的零化度为 1,即 $\hid{\nullity(\mx{A})=1}$,因为我们用变换 $\hid{\mx{A}}$「移除了」 一个维度。
现在,让我们探索 $\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{and}\ \ \ \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\in\R$ 且 $v\in\R$,这也意味着 $\rank(\mx{A})=2$。 最后,我们注意到 定理 8.8 指出 $\rank(\mx{A}) + \nullity(\mx{A}) = n$,在本例中确实成立, 因为 $2+1=3$。

例 8.10:
这是另一个展示如何计算 零化度 等的例子。我们从 $4\times 6$ 矩阵 $\mx{A}$ 开始,即
\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 行,我们用顶行减去各行本身,得到
\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)
下一步是用第 2 行减去第 4 行并放入第 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}$。 我们立即从最后一行得到 $2 x_6 = 0$,即 $x_6=0$。 利用第 3 行,得到 $x_4+x_6=0$,即还有 $x_4=0$。 第 2 行给出 $2x_3 + 0 + 2x_5 + 0 = 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 -t + 0 +t +0 =0$, 即 $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)
这意味着 $\nullity(\mx{A})=2$,因为该表达式中有两个变量($s$ 和 $t$)。 零化向量为 $\vc{z}^1$ 和 $\vc{z}^2$。 由于 $n=6$ 且 $\nullity(\mx{A})=2$,我们有 $\rank(\mx{A})= 6-2=4$。 张成 行空间行向量 是 $\mx{R}$ 的全部 4 个 行向量,也是 $\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}$(可尝试执行 矩阵-向量乘法),最后,若有一个方程组 $\mx{A}\vc{x}=\vc{b}$,则解将位于 $\mx{A}$ 的 行空间 中。
8.4 秩与行列式


第 7 章 中,介绍了计算方阵行列式的不同方法。 利用 子式(见 定义 7.8),也可以求矩阵的 ,如下面的定理所述。

定理 8.9:
矩阵 $\mx{A}$(规模为 $m\times n$)的 是满足某个 $r\times r$ 子式 为 $\neq 0$ 的最大整数 $r$。

本证明分为两部分,即证明矩阵的 至少为 $r$, 第二部分证明 至多为 $r$,二者合起来即完成证明。
$i)$ 我们将行列式 $d$ 为 $\neq 0$ 的 $r\times r$ 子矩阵称为 $\mx{S}$, 即 $d=|\mx{S}|\neq 0$。 如我们所知,这样的 子式 必须通过划去 $m-r$ 行和 $n-r$ 列得到。 接下来,我们构成矩阵 $\mx{B}$,它由被划去的行组成, 因而由 $\mx{A}$ 的这 $r$ 行构成。$\mx{S}$ 的矩阵元素也包含在 $\mx{B}$ 中, 即 子式 $d$ 也可通过进一步从 $\mx{B}$ 中划去若干列得到, 并且由于 $d\neq 0$,$\mx{S}$ 的列必为 线性无关。 由于 $\mx{S}$ 包含于 $\mx{B}$,$\mx{B}$ 中至少有 $r$ 个 线性无关列向量, 我们得出结论:$\mx{B}$ 的 至少为 $r$。 然而,$\mx{B}$ 只有 $r$ 行,因此 必恰为 $r$,且 $\mx{B}$ 的 行向量 必为 线性无关。 因此,$\mx{A}$ 也必有至少 $r$ 个 线性无关行向量, 即 $\rank(\mx{A})\geq r$。
$ii)$ 这一步的目的是证明 $\mx{A}$ 的 至多为 $r$。 假设 $\mx{A}$ 有 $t$ 个 线性无关 的行。 我们构成由这些行组成的矩阵 $\mx{C}$,该矩阵的 必为 $t$, 这意味着 $\mx{C}$ 中也有 $t$ 个 线性无关 的列。 接下来,我们通过划去其余列取出这 $t$ 个 线性无关 的列。 这得到一个 $t\times t$ 矩阵,由于其列 线性无关,其行列式为 $\neq 0$。该 子式 也是 $\mx{A}$ 的 子式。 因此,$\mx{A}$ 的 不能为 $> r$,因为那样 $\mx{A}$ 中就需要多于 $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$。 然而,继续删去第二行和第一列,得到
\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} \neq 0$), 我们可以断定 $\rank(\mx{A})=3$,因为我们已经知道 唯一的 $4\times 4$ 行列式为 0,这全归功于 定理 8.9
8.5 引言示例的后续


例 8.12: 从声音恢复结构问题
交互图 8.2 中,我们研究了从测得的声音确定声源位置和麦克风位置的问题。在该设定下,信号处理可用于获得所谓的到达时间差测量。为使表述稍简,我们将针对所谓到达时间问题的情形,呈现同一问题。

在本例中,我们有 $m=8$ 个麦克风。设 $\vc{r}_i$、$ i = 1, \dots, m$ 为这 8 个麦克风 3D 位置的 列向量 表示。考察某些时刻 $t_1, \dots, t_n$ 的声源位置,我们选取了 $n$ 个声音录音时刻。设 $\vc{s}_j$、$ j = 1, \dots, n$ 为这些 $n$ 个 3D 声源发射位置的坐标。 假设我们对每个时刻 $j$ 与每个麦克风 $j$ 的组合,测量发射声与接收声之间的时间差 $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) (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{R}$ 和 $\mathbf{S}$ 的 。 因此 $\mathbf{B}$ 的 至多为 3。

在最后一个例子中,我们发现由测量可构成的矩阵 $\mathbf{B}$ 与我们所求参数通过 $\mathbf{B} = \mathbf{R}^\T \mathbf{S}$ 相联系。如何由 $\mathbf{B}$ 计算 $\mathbf{R}$ 和 $\mathbf{S}$?换言之,如何分解矩阵 $\mathbf{B}$ 并将其写成两个因子 $\mathbf{R}$ 和 $\mathbf{S}$ 的乘积? 这属于分解论题的一部分,这些工具在许多应用中很有用。 然而,遗憾的是这超出了本书的范围。


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