定理 2.1:向量运算的性质
设 $\vc{u}$、$\vc{v}$ 和 $\vc{w}$ 是同维向量,$k$ 和 $l$ 是标量,
则下列法则成立:
\begin{gather}
\begin{array}{llr}
(i) & \vc{u}+\vc{v} = \vc{v}+\vc{u} & \spc\text{(交换律)} \\
(ii) & (\vc{u}+\vc{v})+\vc{w} = \vc{u}+(\vc{v}+\vc{w}) & \spc\text{(结合律)} \\
(iii) & \vc{v}+\vc{0} = \vc{v} & \spc\text{(零向量的存在性)} \\
(iv) & \vc{v}+ (-\vc{v}) = \vc{0} & \spc\text{(负向量的存在性)} \\
(v) & k(l\vc{v}) = (kl)\vc{v} & \spc\text{(结合律)}\\
(vi) & 1\vc{v} = \vc{v} & \spc\text{(乘法单位元)} \\
(vii) & 0\vc{v} = \vc{0} & \spc\text{(数乘零)} \\
(viii) & k\vc{0} = \vc{0} & \spc\text{(零向量的数乘)} \\
(ix) & k(\vc{u}+\vc{v}) = k\vc{u}+k\vc{v} & \spc\text{(分配律 1)} \\
(x) & (k+l)\vc{v} = k\vc{v}+l\vc{v} & \spc\text{(分配律 2)} \\
\end{array}
\end{gather}
式(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.1:零空间
若 $\mx{A}$ 是 $m\times n$ 矩阵(即有 $m$ 行、$n$ 列),则
$\mx{A}\vc{x}=\vc{0}$ 的全部解所构成的集合称为 $\mx{A}$ 的零空间。
定义 6.2:矩阵的行向量与列向量
$r \times c$ 矩阵 $\mx{A}$ 的第 $i$ 个行向量记作 $\vc{a}_{i,}^\T$,其中含有
$c$ 个标量元素。
$\mx{A}$ 的第 $i$ 个列向量记作 $\vc{a}_{,i}$,其中含有 $r$ 个标量元素。
因而,用向量可以将矩阵写成以下两种形式:
\begin{equation}
\mx{A} = \bigl(\vc{a}_{,1} \,\,\, \vc{a}_{,2} \,\,\,\dots\,\,\, \vc{a}_{,c}\bigr)
= \left(
\begin{array}{c}
\vc{a}_{1,}^\T\\
\vc{a}_{2,}^\T\\
\vdots \\
\vc{a}_{r,}^\T\\
\end{array}
\right).
\end{equation}
定义 2.5:列向量记法
给定一组基,$n$ 维列向量 $\vc{v}$(此前我们取过 $n\in [1,2,3]$)就是由 $n$ 个
标量值排成的一列。这些标量分量有时也称向量元素,
既可编号为 $v_1$、$v_2$、$v_3$,
也可在方便时用 $x$、$y$、$z$ 作下标。记法如下:
\begin{gather}
\underbrace{ \vc{u} =
\begin{pmatrix} u_x
\end{pmatrix} =
\begin{pmatrix} u_1
\end{pmatrix}}_{\text{一维向量}},
\spc\spc
\underbrace{ \vc{v} =
\begin{pmatrix} v_x \\
v_y
\end{pmatrix} =
\begin{pmatrix} v_1 \\
v_2
\end{pmatrix}}_{\text{二维向量}},
\spc\spc
\\
\underbrace{ \vc{w} =
\begin{pmatrix} w_x \\
w_y \\
w_z
\end{pmatrix} =
\begin{pmatrix} w_1 \\
w_2 \\
w_3
\end{pmatrix}}_{\text{三维向量}},
\end{gather}
其中 $\vc{u} = u_x \vc{e}_1$,$\vc{v} = v_x \vc{e}_1 + v_y \vc{e}_2$,
而 $\vc{w} = w_x \vc{e}_1 + w_y \vc{e}_2 + w_z \vc{e}_3$。
定义 5.1:线性组合
若向量 $\vc{u}$ 可表示为
\begin{equation}
\vc{u} = k_1\vc{v}_1 + k_2\vc{v}_2 + \dots + k_n \vc{v}_n = \sum_{i=1}^{n} k_i \vc{v}_i,
\end{equation}
其中 $k_1, k_2, \dots, k_n$ 均为标量,则称 $\vc{u}$ 是向量 $\vc{v}_1,\dots,\vc{v}_n$ 的线性组合。
定义 3.1:点积
向量 $\vc{u}$ 与 $\vc{v}$ 的点积记作 $\vc{u}\cdot \vc{v}$,并定义为标量
\begin{equation}
\vc{u}\cdot \vc{v} = \left\{
\begin{array}{ll}
\ln{\vc{u}}\ \ln{\vc{v}} \cos[\vc{u},\vc{v}], & \text{若 } \vc{u}\neq \vc{0} \text{ 且 } \vc{v}\neq \vc{0},\\
0, & \text{若 } \vc{u}=\vc{0} \text{ 或 } \vc{v}=\vc{0}.
\end{array}
\right.
\end{equation}
定义 3.8:参数化平面
以 $t_1\in\R$ 和 $t_2\in\R$ 为参数的平面,可由一个起点 $S$ 和两个
方向向量 $\vc{d}_1$、$\vc{d}_2$ 描述。
平面上的所有点 $P(t_1,t_2)$ 均可表示为
\begin{equation}
P(t_1, t_2) = S + t_1 \vc{d}_1 + t_2\vc{d}_2.
\end{equation}
若 $\vc{d}_1$ 或 $\vc{d}_2$ 中有一个是 $\vc{0}$,或二者平行(同向或
反向),则它退化为参数化直线方程。
式(8.16):
\begin{equation}
s
\begin{pmatrix}
1\\
2\\
3
\end{pmatrix}
+t
\left(
\begin{array}{r}
4\\
1\\
-3
\end{array}
\right),
\end{equation}
定理 5.2:高斯消元法则对线性方程组实施下列任一操作,其解集不变:
- 交换两个方程的次序;
- 将某个方程乘以非零常数;或
- 把另一方程的若干倍加到某个方程上。
式(8.12):
\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.18):
\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.17):
\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.2:
高斯消元法的各项操作都不会改变
$m \times n$ 矩阵 $\mx{A}$ 的行空间。
定理 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}$,则
-
$\mx{R}$ 的非零行构成其行空间的一组基;由定理 8.2,它们也构成 $\mx{A}$ 行空间的一组基;
-
$\mx{R}$ 中各非零行首个非零元素所在的列向量,构成 $\mx{R}$ 列空间的一组基;
$\mx{A}$ 列空间的一组基则取自 $\mx{A}$ 中列号与上述列相同的列向量。
定理 8.8:维数定理
对任意 $m\times n$ 矩阵 $\mx{A}$(即有 $n$ 列),都有
\begin{equation}
\rank(\mx{A}) + \nullity(\mx{A}) = n.
\end{equation}
定义 3.2:正交投影
若 $\vc{v}$ 是非零向量,则 $\vc{u}$ 在 $\vc{v}$ 上的正交投影记作 $\proj{\vc{v}}{\vc{u}}$,
并定义为
\begin{equation}
\proj{\vc{v}}{\vc{u}} = \frac{\vc{u} \cdot \vc{v}}{ \ln{\vc{v}}^2 } \vc{v}.
\end{equation}
注意,若 $\ln{\vc{v}}=1$,即 $\vc{v}$ 已归一化,则投影公式可简化为:
$\proj{\vc{v}}{\vc{u}} = (\vc{u} \cdot \vc{v})\vc{v}$.
定义 7.8:余子式
设 $\mx{A}$ 为 $n \times n$ 矩阵。删去 $\mx{A}$ 的第 $i$ 行、第 $j$ 列后所得
$(n-1) \times (n-1)$ 矩阵的行列式称为余子式,记作 $D_{ij}$。
定理 8.9:
$m\times n$ 矩阵 $\mx{A}$ 的秩,是满足“存在一个非零的 $r\times r$ 子式”的
最大整数 $r$。
定理 7.8:
若 $\mx{A}$ 为方阵,$\adj(\mx{A})$ 为其伴随矩阵,则
\begin{equation}
\mx{A} (\adj(\mx{A})) = (\adj(\mx{A})) \mx{A} = \det(\mx{A}) \mx{I} .
\end{equation}
若 $\det(\mx{A}) \neq 0$,则 $\mx{A}$ 可逆,且其逆矩阵为
\begin{equation}
\mx{A}^{-1} = \frac{1}{\det \mx{A}} \adj \mx{A} .
\end{equation}
式(8.51):
\begin{equation}
d_{ij} = v t_{ij} = {\ln{\mathbf{r}_i - \mathbf{s}_j}}.
\end{equation}
定理 8.6:乘积的秩
乘积 $\mx{A} = \mx{B} \mx{C}$ 的秩不大于任一因子的秩,即
\begin{equation}
\rank \mx{A} \leq \rank \mx{C},
\end{equation}
且
\begin{equation}
\rank \mx{A} \leq \rank \mx{B}.
\end{equation}
第 8 章:秩
本章讨论矩阵的一项性质——。
事实上,秩揭示了矩阵的多方面特征。本章有些例子会用方阵来说明,
但所有结论同样适用于 $m \times n$ 这类矩形矩阵。
我们先从“由声音恢复结构”这一应用实例讲起。
例 8.1:
由声音恢复结构
应用数学中有许多问题都会涉及,所谓
由声音恢复结构便是其中之一。在这个问题中,若干麦克风固定不动,但其位置未知;声音在未知的位置和时刻发出。事实证明,仅凭麦克风测得的声音信号,仍可计算出:(i) 各麦克风的位置;(ii) 声源的运动轨迹;(iii) 声音发出的时刻。在其中发挥着重要作用。
图 8.1 展示了测量情形:一个声源在房间内移动,八个麦克风同时收录声音。利用这八份录音,可以计算麦克风的位置与声源的运动轨迹。另见这段
YouTube 视频。
计算得到的三维声源轨迹和麦克风位置还在
交互式图解 8.2中进行了可视化。
我们先介绍矩阵的、和。我们将看到,这三个空间本身都是向量空间,也就是子空间。下面先说明何谓线性子空间。
向量空间的子空间,是由该向量空间中一部分向量构成、且自身也是空间的子集。要证明一个线性空间的子集是线性子空间,只需检验三项条件。下述定理概括了这三项条件。
定理 8.1:
设 $V$ 是标量域 $F$ 上的向量空间(本书通常只取 $F=\R$ 或 $F=\mathbb{C}$)。
子集 $W \subset V$ 是线性向量空间(即子空间),当且仅当 $W$ 满足以下三项条件:
- $\vc{0} \in W$。
- 若 $\vc{v}_1 \in W$ 且 $\vc{v}_2 \in W$,则 $\vc{v}_1+\vc{v}_2 \in W$。
- 若 $\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$ 是线性向量空间,因为:
- 由 $\mx{A}\vc{0} = \vc{0}$,可知 $\vc{0} \in W$。
- 若 $\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$。
- 若 $\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$ 是线性向量空间,因为:
- 由 $\vc{0} =\mx{A}\vc{0}$(左侧零向量属于 $\R^m$,右侧零向量属于 $\R^n$),可知 $\vc{0} \in W$。
- 若 $\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$。
- 若 $\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$。
这说明一组向量的所有所构成的集合是一个空间。
正如
第 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}$ 张成该零空间;换言之,它们是零空间的向量。
对 $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中的操作:
- $(i)$:$\vc{a}_{i,}^{\T} \leftrightarrow \vc{a}_{j,}^{\T}$ 表示交换两行;
- $(ii)$:$\vc{a}_{i,}^{\T} \rightarrow k\vc{a}_{i,}^{\T}$ 表示某行乘以非零常数 $k$;
- $(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}$,则
-
$\mx{R}$ 的非零行构成其行空间的一组基;由定理 8.2,它们也构成 $\mx{A}$ 行空间的一组基;
-
$\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展示了这两类解如何相互作用。
下述维数定理十分实用:只要知道零空间的维数或矩阵的秩,再知道矩阵的列数,就能求出另一个量。
定理 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$。
下面考察 $\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}$(可自行做矩阵与向量乘法验证)。
第 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.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}$ 分解成两个因子之积?这属于矩阵分解的范畴,在许多应用中非常有用,但已超出本书范围。
术语提示:
设 $\mx{A}= \left(\vc{a}_{,1} \vc{a}_{,2} \dots \vc{a}_{,n}\right)$ 为 $m\times n$ 矩阵。
$\mx{A}$ 的列空间是其列向量 $\vc{a}_{,i}$ 的所有线性组合所构成的集合。
术语提示:
$n$ 维列向量 $\vc{v}$ 相对于一组表示,由 $n$ 个标量排成一列。
向量元素有时记作 $v_1$、$v_2$、……、$v_n$。对于二维和三维向量,有时也用 $v_x$、$v_y$、$v_z$。
记法为
|
\begin{equation}
\underbrace{
\vc{u} =
\begin{pmatrix}
u_x
\end{pmatrix}
=
\begin{pmatrix}
u_1
\end{pmatrix}}_{\text{一维向量}},
\spc\spc
\underbrace{
\vc{v} =
\begin{pmatrix}
v_x \\
v_y
\end{pmatrix}
=
\begin{pmatrix}
v_1 \\
v_2
\end{pmatrix}}_{\text{二维向量}},
\spc\spc
\underbrace{
\vc{w} =
\begin{pmatrix}
w_x \\
w_y \\
w_z
\end{pmatrix}
=
\begin{pmatrix}
w_1 \\
w_2 \\
w_3
\end{pmatrix}}_{\text{三维向量}},
\end{equation}
|
|
其中 $\vc{u} = u_x \vc{e}_1$,$\vc{v} = v_x \vc{e}_1 + v_y \vc{e}_2$,
$\vc{w} = w_x \vc{e}_1 + w_y \vc{e}_2 + w_z \vc{e}_3$。注意,$\vc{e}_i$ 是向量。
正文中也使用简写 $\vc{w} = \bigl(w_1,w_2,w_3\bigr)$,含义与上式相同(注意各向量元素之间有逗号)。行向量的各元素之间则不加逗号。
术语提示:
映射 $F$ 是记作 $F: N \rightarrow M$ 的规则,它把集合 $N$ 中的每个元素对应到集合 $M$ 中的一个元素。这里 $N$ 称为定义域。