矩阵的4个子空间的关系

如果 \(A: \mathbb C^n \to \mathbb C^m\) ,即 \(A\) 是一个 \(m \times n\) 阶矩阵,子空间定义如下:

  1. 列空间 (column space): $C(A) = {A ^n } ^m $

  2. 行空间 (row space): \(C(A^T) = \{A^T \mathbf {y} \vert \mathbf {y} \in \mathbb {C}^m \} \subseteq \mathbb {C}^n\)

  3. 零空间 (nullspace): \(N(A) = \{ \mathbf {x} \in \mathbb {C}^n\vert A \mathbf {x} = \mathbf {0}\} \subseteq \mathbb {C}^n\)
    零度: \(\mathrm {nullity} A = \dim N(A)\)

  4. 左零空间 (left nullspace): \(N(A^T) = \{ \mathbf {y} \in \mathbb {C}^m\vert A^T \mathbf {y} = \mathbf {0}\} \subseteq \mathbb {C}^m\)

这里会探索这四个子空间的关系

1. 列秩 = 行秩

还记得秩的概念是如何引入的吗 ? 在博客 秩-零度定理 中,我们提到

秩是线性变换的值域维度,也是矩阵的列空间维度

\(\hbox {rank} T = R(T)\) ,或者 \(\hbox {rank} A = \dim C(A)\)

再深入思考一下,矩阵列空间的维度,也是矩阵线性独立的列向量的个数。因此我们可以把矩阵的秩 (rank) 称为列秩 (column rank)。

那么矩阵行秩,即矩阵线性独立的行向量的个数,和矩阵的行秩 (row rank) 有什么关系呢 ?

答案是 : 列秩 = 行秩 。 这个结论非常重要

1.1 证明一

假设 \(m \times n\) 阶矩阵 \(A\) 的列秩为 \(c\) , 行秩为 \(r\) 。 那么 \(A\) 包含 \(c\)\(m\) 维线性独立的列向量,它们可以生成 (span) \(A\) 的列空间。将这些列向量收集起来可以组成一个 \(m \times c\) 阶矩阵 \(B= [b_{ij}]\) ,如此 \(A\) 的每一个列向量 \(\mathbf {a}_{j}, j=1, \ldots, n\) ,都可唯一表示成 \(B\) 的列向量 \(\mathbf {b}_1, \mathbf {b}_2, \ldots, \mathbf {b}_c\) 的线性组合,如下: \[
\begin {aligned}
\mathbf {a}_j &= d_{1j} \mathbf {b}_1 + d_{2j} \mathbf {b}_2 + \cdots + d_{cj} \mathbf {b}_c \\
&= \begin {bmatrix} \mathbf {b}_1 & \mathbf {b}_2 & \cdots & \mathbf {b}_c \end {bmatrix}
\begin {bmatrix}
d_{1j} \\
d_{2j} \\
\vdots \\
d_{cj}
\end {bmatrix}
= B \mathbf {d}_j
\end {aligned}
\]
再将 \(\mathbf {a}_j = B \mathbf {d}_j, j = 1, \ldots, n\) 的线性组合合并为一个 \(c \times n\) 阶矩阵 \(D = [d_{ij}]\) , 于是 \[
\begin {aligned}
A &= \begin {bmatrix} \mathbf {a}_1 & \mathbf {a}_2 & \cdots & \mathbf {a}_n \end {bmatrix}
= \begin {bmatrix} B \mathbf {d}_1 & B \mathbf {d}_2 & \cdots & B \mathbf {d}_n \end {bmatrix} \\
&= B \begin {bmatrix} \mathbf {d}_1 & \mathbf {d}_2 & \cdots & \mathbf {d}_n \end {bmatrix}
= BD
\end {aligned}
\]
接着考虑矩阵 \(A\) 的第 \(i\) 列,以 \(\mathrm {row}_i(A)\) 表示,利用以行为计算单元的矩阵乘法规则,可得: \[
\begin {aligned}
\mathrm {row}_i(A) &= \mathrm {row}_i (BD) = \mathrm {row}_i(B) \cdot D \\
&= \begin {bmatrix} b_{i1} & b_{i2}& \cdots & b_{ic} \end {bmatrix}
\begin {bmatrix}
\mathrm {row}_1(D) \\
\mathrm {row}_2(D) \\
\vdots \\
\mathrm {row}_c(D)
\end {bmatrix} \\
&= b_{i1} \mathrm {row}_1(D) + b_{i2} \mathrm {row}_2(D) + \cdots + b_{ic} \mathrm {row}_c(D)
\end {aligned}
\]
矩阵 \(A\) 的每一行都可表示为 \(D\) 的行向量的线性组合,因此 \(A\) 的行空间维数不大于 \(D\) 的行向量数,即 \(r \le c\) ,也就是说 \(A\) 的行空间维数不大于 \(A\) 的列空间维数

运用同样的推论方式于 \(A^T\) ,可推知 \(A^T\) 的行空间维数不大于 \(A^T\) 的列空间维数,但 \(A^T\) 的行空间即为 \(A\) 的列空间,同时 \(A^T\) 的列空间也是 \(A\) 的行空间,于是 \(c \le r\)。 综上可知, \(r = c\) ,矩阵的行秩等于列秩。

1.2 证明二

利用 Hermitian 矩阵 \(A^{\ast}A\)

1.2.1 \(\mathrm {rank}A = \mathrm {rank}(A^{\ast}A)\)

先证明 \(N(A) = N(A^{\ast}A)\) , 等价于证明 \(N(A) \subseteq N(A^{\ast}A)\)\(N(A^{\ast}A) \subseteq N(A)\)

前者很容易证明,如果 \(\mathbf {x}\) 满足 \(A\mathbf {x} = \mathbf {0}\) , 自然 \(A^{\ast}A \mathbf {x} = A^{\ast} \mathbf {0} = \mathbf {0}\) ,于是 \(\mathbf {x} \in N(A^{\ast}A)\).

后者有两种方法证明,方法一是如果 \(A^{\ast}A \mathbf {x} = \mathbf {0}\), 则 \(\mathbf {x}^{\ast} A^{\ast}A\mathbf {x} = \mathbf {0}\), 即 \[
(A \mathbf {x})^{\ast} (A \mathbf {x}) = ||A \mathbf {x}||^2 = \mathbf {0}
\]
于是自然 \(A\mathbf {x} = \mathbf {0}\)

方法二,\(A^{\ast}A \mathbf {x} = \mathbf {0}\) 说明 \(A\mathbf {x} \in N(A^{\ast})\) 。另外,\(A\mathbf {x} \in C(A)\)

因为 \(C(A) \cap N(A^{\ast}) = \{\mathbf {0} \}\) , 推出 \(A\mathbf {x} = \mathbf {0}\)

根据 \(A\)\(A^{\ast}A\) 的秩-零度定理 \(\dim C(A) + \dim N(A) = n\)\(\dim C(A^{\ast}A) + N(A^{\ast}A) = n\) ,即证明: \[
\mathrm {rank}A = \mathrm {rank}(A^{\ast}A)
\]

1.2.2 \(\mathrm {rank}A^{\ast} = \mathrm {rank}(A A^{\ast})\)

利用 1.2.1 的结论,用 \(A^{\ast}\) 代替 \(A\) 即可得到此结论

1.2.3 \(\mathrm {rank}\mathrm {A} = \mathrm {rank} \mathrm {A^{\ast}}\)

由于 \(A^{\ast} A\) 的列向量必定可以表示为 \(A^{\ast}\) 的列向量的线性组合,可知 \(C(A^{\ast} A) \subseteq C(A^{\ast})\) ,既有 \(\mathrm {rank}(A) = \mathrm {rank}(A^{\ast}A) \le \mathrm {rank}(A^{\ast})\)

同理,\(\mathrm {rank}(A^{\ast}) = \mathrm {rank}(AA^{\ast}) \le \mathrm {rank}(A)\)

于是: \(\mathrm {rank}\mathrm {A} = \mathrm {rank} \mathrm {A^{\ast}}\)

1.2.4 \(\mathrm {rank}\mathrm {A} = \mathrm {rank} \mathrm {\overline A}\)

证明 \(A\) 的列向量 \(\mathbf {a}_1, \mathbf {a}_2, \ldots ,\mathbf {a}_n\)\(\overline A\) 的列向量 \(\mathbf {\overline a}_1, \mathbf {\overline a}_2, \ldots ,\mathbf {\overline a}_n\) 具有完全相同的线性相关性

1.2.5 \(\mathrm {rank}\mathrm {A} = \mathrm {rank} \mathrm {A^T}\)

利用前面的性质 \[
\mathrm {rank}\mathrm {A} = \mathrm {rank} \mathrm {A^{\ast}} = \mathrm {rank}\mathrm {\overline A}^T = \mathrm {rank} \mathrm {A^T}
\]

于是 \(\dim C(A) = \mathrm {rank}A = \mathrm {rank} \mathrm {A^T} = \dim C(A^T)\)

\(A\) 的列秩 = \(A^T\) 的列秩 = \(A\) 的行秩

2. 正交补空间

(1) 向量正交: 这里关于内积的概念可以看下其他博客,推荐这一篇 内积的定义

\(\mathcal {V}\) 是有限维内积空间,对于向量 \(\mathbf {x}, \mathbf {y} \in \mathcal {V}\) ,若内积 \(\langle \mathbf {x}, \mathbf {y} \rangle = 0\), 则 \(\mathbf {x}\) 正交于 \(\mathbf {y}\)

(2) 向量与子空间正交:

如果向量 \(\mathbf {v} \in \mathcal {V}\)\(\mathcal {X}\)\(\mathcal {V}\) 的一个子空间,若所有 \(\mathbf {x} \in \mathcal {X}\) , 都有 \(\langle \mathbf {v}, \mathbf {x} \rangle = 0\) ,则向量 \(\mathbf {v}\) 和子空间 \(\mathcal {X}\) 正交,表示为 \(\mathbf {v} \perp \mathcal {X}\)

(3) 正交空间:

正交补余 (orthogonal complement) 是指 \(\mathcal {V}\) 中所有正交于 \(\mathcal {X}\) 的向量所形成的集合,以 \(\mathcal {X}^{\perp}\) 表示,即: \[
\mathcal {X}^{\perp} \overset {\underset {\mathrm {def}} {}} {=} \{ \mathbf {v} \in \mathcal {V} \vert \mathbf {v} \perp \mathcal {X}\}
\]
可以证明正交补余 \(\mathcal {X}^{\perp}\)\(\mathcal {V}\) 的子空间,证明如下:

\(\mathbf {u}, \mathbf {v} \in \mathcal {X}^{\perp}\) ,即 \(\mathbf {u} \perp \mathcal {X}\)\(\mathbf {v} \perp \mathcal {X}\) ,对于任何 \(\mathbf {x} \in\mathcal {X}\) ,就有: \[
\langle \mathbf {x}, \mathbf {u} + \mathbf {v} \rangle = \langle \mathbf {x}, \mathbf {u} \rangle + \langle \mathbf {x}, \mathbf {v} \rangle = 0 + 0 = 0
\]
对于任何标量 \(c\) , \[
\langle \mathbf {x}, c \mathbf {u} \rangle = c \langle \mathbf {x}, \mathbf {u} \rangle =c \cdot 0 = 0
\]
说明向量集 \(\mathcal {X}^{\perp}\) 满足向量加法和标量乘法封闭性,故为一子空间

3. 投影定理

\(\mathcal {X}\)\(\mathcal {V}\) 的一子空间,则

  1. \(\mathcal {X} \cap \mathcal {X}^{\perp} = \{ \mathbf {0} \}\)
  2. \(\mathcal {X} + \mathcal {X}^{\perp} = \mathcal {V}\)
  3. \(\dim \mathcal {X} + \dim \mathcal {X}^{\perp} = \dim \mathcal {V}\)
  4. \((\mathcal {X}^{\perp})^{\perp} = \mathcal {X}\)

证明1,考虑 \(\mathbf {x} \in\mathcal {X}\)\(\mathbf {x} \in\mathcal {X}^{\perp}\) ,就有 \(\langle \mathbf {x}, \mathbf {x} \rangle = 0\) ,故 \(\mathbf {x} =\{ \mathbf {0} \}\)

证明2,假设 \(\dim \mathcal {V} = n\) ,若 \(\mathcal {X} =\{ \mathbf {0} \}\)\(\mathcal {V}\) ,显然 \(\mathcal {X} + \mathcal {X}^{\perp} = \mathcal {V}\) 。以下考虑 \(\dim \mathcal {X} = k, 0 \lt k \lt n\) ,令 \(\mathbf {x}_1, \ldots, \mathbf {x}_k\)\(\mathcal {X}\) 的一组规范正交基底 (orthonormal baisis): 若 \(i = j\) , \(\langle \mathbf {x}_i, \mathbf {x}_j \rangle = 1\) ; 若 \(i \neq j\) , \(\langle \mathbf {x}_i, \mathbf {x}_j \rangle = 0\) 。 对于 \(\mathcal {V}\) 中任一向量 \(\mathbf {v}\),我们定义向量 \(\mathbf {x} = c_1 \mathbf {x}_1+ \cdots+ c_k \mathbf {x}_k\), 其中 \(c_i = \langle \mathbf {v}, \mathbf {x}_i \rangle\) ,显然 \(\mathbf {x} \in \mathcal {X}\) ,此时 \(\mathbf {y} = \mathbf {v} – \mathbf {x}\) 正交于 \(\mathcal {X}\) ,理由如下,对于每一个 \(i = 1, \ldots, k\)\[
\begin {aligned}
\langle \mathbf {x}_i, \mathbf {x} \rangle &= \Big \langle \mathbf {x}_i, \mathbf {v} – \sum_{j=1}^k c_j \mathbf {x}_j \Big \rangle \\
&= \langle \mathbf {x}_i, \mathbf {v} \rangle – \sum_{j=1}^k c_j \langle \mathbf {x}_i, \mathbf {x}_j \rangle \\
&= c_i – c_i = 0
\end {aligned}
\]
得知 \(\mathbf {y}\) 正交于 \(\mathcal {X}\) 的所有基底向量 \(\mathbf {x}_1, \ldots, \mathbf {x}_k\) ,因此 \(\mathbf {y} \in \mathcal {X}^{\perp}\) ,也就是说,任何 \(\mathbf {v} \in \mathcal {V}\) 都可以分解为属于 \(\mathcal {X}\)\(\mathbf {x}\) 和属于 \(\mathcal {X}^{\perp}\)\(\mathbf {y}\) 之和,说明 \(\mathcal {V} \subseteq \mathcal {X} + \mathcal {X}^{\perp}\) ,另一方面,\(\mathcal {X} \subseteq \mathcal {V}\)\(\mathcal {X}^{\perp} \subseteq \mathcal {V}\) ,则 \(\mathcal {X} + \mathcal {X}^{\perp} \subseteq \mathcal {V}\) ,于是 \(\mathcal {V} = \mathcal {X} + \mathcal {X}^{\perp}\)

证明3,根据性质 1 和 2, 同时由容斥定理可知: \[
\dim (\mathcal {X} + \mathcal {X}^{\perp}) = \dim \mathcal {X} + \dim \mathcal {X}^{\perp} – \dim (\mathcal {X} \cap \mathcal {X}^{\perp})
\]
于是:
\[
\dim \mathcal {V} = \dim (\mathcal {X} + \mathcal {X}^{\perp}) = \dim \mathcal {X} + \dim \mathcal {X}^{\perp} – 0 = \dim \mathcal {X} + \dim \mathcal {X}^{\perp}
\]
证明4,证明两个集合相等,只需要证明互相包含即可

4. 矩阵的子空间的关系

根据前面的结论: \(\hbox {rank}A = \dim C(A) = \dim C(A^T) = r\) 。根据秩-零度定理: \[
n = \dim N(A) + \dim C(A^T)
\]
\(A\) 转置,便对应 \(A^T\) 的定理,如下: \[
m = \dim N(A^T) + \dim C(A)
\]
其中,\(N(A^T)\) 称为左零空间 (left nullspace)。注意,\(C(A^T)\)\(N(A)\)\(\mathbb {R}^n\) 的子空间,而 \(C(A)\)\(N(A^T)\)\(\mathbb {R}^m\) 的子空间。因此 \(C(A^T)\) 的每个向量是 \(n\) 元的,\(C(A)\) 的每个向量是 \(m\) 元的

下面这幅图非常重要,展示了四个子空间的关系:

矩阵的四个基本子空间除了维度的关系,其实还有正交补余的关系: \[
\begin {aligned}
N(A) &= C(A^T)^{\perp} \\
N(A^T) &= C(A)^{\perp}
\end {aligned}
\]
证明很简单: \[
A \mathbf {x} = \begin {bmatrix}
\mathrm {row}_1(A) \\
\mathrm {row}_2(A) \\
\vdots \\
\mathrm {row}_m(A)
\end {bmatrix}
\mathbf {x} = \begin {bmatrix}
0 \\
0 \\
\vdots \\
0
\end {bmatrix}
\]
每一个行向量与 \(\mathbf {x}\) 的内积为0,所以 \(\mathbf {x}\) 必定与所有行向量的线性组合正交,可知 \(N(A) \perp C(A^T)\) ,同时根据秩-零度定理的维度关系,在 \(\mathbb {R}^n\) 向量空间,\(N(A) = C(A^T)^{\perp}\)

同理,对矩阵 \(A\) 转置,考虑左零空间 \(N(A^T)\) 的向量 \(\mathbf {y}\) : \[
A^T \mathbf {y} = \begin {bmatrix}
\mathrm {col}_1(A) \\
\mathrm {col}_2(A) \\
\vdots \\
\mathrm {col}_n(A)
\end {bmatrix}
\mathbf {y} = \begin {bmatrix}
0 \\
0 \\
\vdots \\
0
\end {bmatrix}
\]
同理可知,\(A\) 的每个行向量与 \(\mathbf {y}\) 正交,故 \(A\) 的列空间 \(C(A)\) 是左零空间的正交补余,即 \(N(A^T) = C(A)^{\perp}\) 。附带一提,\(A^T \mathbf {y} = \mathbf {0}\) 等价于其转置 \(\mathbf {y}^T A = \mathbf {0}^T\)\(\mathbf {y}^T\) 位于 \(A\) 的左侧,因此 \(N(A^T)\) 称为左零空间

发表评论

电子邮件地址不会被公开。 必填项已用*标注