秩 (线性代数)

在线性代数中,一个矩阵 A 的列秩是列向量生成的最大线性无关组的向量个数。类似地,行秩是矩阵A 的线性无关的横行的个数。矩阵的列秩和行秩总是相等的,因此它们可以简单地称作矩阵 A 的()。通常表示为 \mathrm{r}(A) ,\mathrm{rank}(A) 或\mathrm{rk}(A)。

可替代定义
用-{行列式}-定义
设 A 为 m \times n 矩阵。若 A 至少有一个 r 阶非零子式,而其所有 r+1 阶子式全为零,即矩阵的最高阶非零子式的阶数为r。则称 r 为 A 的秩。

用向量组的秩定义
对于 m 维线性空间 V 中的一个向量组 F=\{\alpha _1 ,\alpha _2,...,\alpha _s\},若
F\supseteq S=\{\alpha _1 ,\alpha _2,...,\alpha _r\} 中的 r 个向量线性无关,且若 r,\forall \alpha _{r+1}\in F-S,S\cup \{\alpha _{r+1}\} 中 r+1 个向量都线性相关,则称 \{\alpha _1 ,\alpha _2,...,\alpha _r\} 为 \{\alpha _1 ,\alpha _2,...,\alpha _s\} 的极大线性无关组,r 为 \{\alpha _1 ,\alpha _2,...,\alpha _s\} 的。可以证明 F 的秩等于向量组 F 生成的子空间的维数。
矩阵 A 的列秩定义为 A 的列向量组的秩,也即矩阵的列空间的维数。类似地,矩阵的行秩定义为 A 的行向量组的秩,即矩阵的行空间的维数。

用线性映射定义
考虑线性映射:
: f_A : F^n \to F^m
: x \mapsto A \cdot x

对于每个矩阵 A,f_A 都是一个线性映射,同时,对每个 F^n \to F^m 的
线性映射 f,都存在矩阵 A使得 f=f_A。也就是说,映射
: \Phi : \mathcal{M}_n (\mathbb{K}) \to \mathcal{L}(F^n,F^m)
: A \mapsto f_A

是一个同构映射。所以一个矩阵 A 的秩还可定义为 f_A 的像的维度(像与核的讨论参见线性映射)。矩阵 A 称为 f_A 的变换矩阵。这个定义的好处是适用于任何线性映射而不需要指定矩阵,因为每个线性映射有且仅有一个矩阵与其对应。秩还可以定义为 n-f 的核的维度;秩-零化度定理證明它等于 f 的像的维度。

行秩列秩相等性
矩阵的行秩与列秩相等,是线性代数基本定理的重要组成部分。其基本证明思路是,矩阵可以看作线性映射的变换矩阵,列秩为像空间的维度,行秩为非零原像空间的维度,因此列秩与行秩相等,即像空间的维度与非零原像空间的维度相等(这里的非零原像空间是指约去了零空间后的商空间:原像空间)。这从矩阵的奇异值分解就可以看出来。

给出这一结果的两种证明。第一个证明是简短的,仅用到向量的线性组合的基本性质。第二个证明利用了正交性。第一个证明利用了列空间的基, 第二个证明利用了行向量空间的基。第一个证明适用于定义在标量域上的矩阵,第二个证明适用于内积空间。二者都适用于实或复的欧氏空间,也都易于修改去证明当A是线性变换的情形。

证明一
令 A 是一个 m \times n 的矩阵,其列秩为 r . 因此矩阵 A 的列空间的维度是 r . 令 c_1,c_2,\ldots,c_r 是 A 的列空间的一组基,构成 m \times r 矩阵 C的列向量 C = [c_1,c_2,\ldots,c_r],并使得 A 的每个列向量是 C的r 个列向量的线性组合. 由矩阵乘法的定义,存在一个 r \times n 矩阵 R, 使得 A = CR. (A 的 (i,j) 元素是 c_i 与 R 的第 j 个行向量的点积.)

现在,由于 A = CR, A 的每个行向量是 R 的行向量的线性组合,这意味着 A 的行向量空间被包含于 R 的行向量空间之中. 因此 A 的行秩 ≤ R的行秩. 但R仅有r行, 所以R的行秩 ≤ r = A的列秩. 这就证明了A的行秩 ≤ A的列秩.

把上述证明过程中的“行”与“列”交换,利用对偶性质同样可证A的列秩 ≤ A的行秩。更简单的方法是考虑A的转置矩阵A^\mathrm{T},则A的列秩 = A^\mathrm{T}的行秩 ≤ A^\mathrm{T}的列秩 = A的行秩. 这证明了A的列秩等于A的行秩. 证毕.

证明二
令A是m \times n矩阵,其行秩是r. 因此A的行向量空间的维度是r,设x_1, x_2,\ldots, x_r是A的行向量空间的一组基. 如果把这组基当作原像列向量看待,则向量集Ax_1, Ax_2,\ldots, Ax_r是线性独立的。 这是因为对一组标量系数c_1,c_2,\ldots,c_r,如果:
:c_1 Ax_1 + c_2 Ax_2 + \cdots c_r Ax_r = A(c_1x_1 + c_2x_2 + \cdots + c_rx_r) = Av = 0,
其中v = c_1x_1 + c_2x_2 + \ldots,c_r x_r. 则可以推出有两个事实: (a) v是A行向量空间的线性组合, 即v属于A的行向量空间;(b) 由于Av = 0, v正交于A的所有行向量,从而正交于A的行向量空间的所有向量. 事实(a)与(b)结合起来,则v正交于自身,这意味着v = 0. 由v的定义:
:c_1x_1 + c_2x_2 + \ldots,c_r x_r = 0.
再由x_i是A的行向量空间的一组线性独立的基,可知c_1 = c_2 = \cdots = c_r = 0. Ax_1, Ax_2,\ldots, Ax_r因而是线性独立的.

Ax_i是A的列空间中的向量. 因此Ax_1, Ax_2,\ldots, Ax_r是A的列空间中r个线性独立的向量. 所以A的列向量空间的维数(A的列秩)必然不小于r. 这证明了A的行秩r ≤ A的列秩. 把这一结果应用于A的转置矩阵可以得到: A的列秩 = A^\mathrm{T}的行秩 ≤ A^\mathrm{T}列秩 = A的行秩. 这证明了A的列秩等于A的行秩,证毕.

最后, 还可以证明rk(A) = rk(A), 其中A*A的共轭转置或称施密特转置. 当A的元素都是实数, 这一结果变为rk(A) = rk(AT). 然而对于复系数矩阵,rk(A) = rk(A**)并不等价于行秩等于列秩, 需要用到上述两个证明.

证明三
A是一个m×n矩阵. 定义rk(A)为A的列秩,AA的共轭转置或称施密特转置. 首先可知A**Ax = 0当且仅当Ax = 0.
: A*Ax = 0 ⇒ xAAx = 0 ⇒ (Ax)*(Ax) = 0 ⇒ ‖Ax‖2 = 0 ⇒ Ax = 0,
其中‖·‖是欧氏范数. 这说明A的零空间与A*A的零空间相同. 由秩-零化度定理, 可得rk(A) = rk(A*A). A*A的每一个列向量是A的列向量的线性组合. 所以A**A的列空间是A的列空间的子空间. 从而rk(A**A) ≤ rk(A). 即: rk(A) = rk(A**A) ≤ rk(A). 应用这一结果于A*可获得不等式: 由于(A*) = A, 可写作rk(A) ≤ rk((A*)) = rk(A). 这证明了rk(A) = rk(A*). 证毕.

性质
我们假定A是在域F上的m × n矩阵并描述了上述线性映射。

  • m × n矩阵的秩不大于m且不大于n的一个非负整数,表示為 rk(A) ≤ min(m, n)。有尽可能大的秩的矩阵被称为有满秩;类似的,否则矩阵是秩不足(或称为“欠秩”)的。
  • 只有零矩阵有秩0
  • A的秩最大为min(m,n)
  • f是单射,当且仅当A有秩n(在这种情况下,我们称A有“列满秩”)。
  • f是满射,当且仅当A有秩m(在这种情况下,我们称A有“行满秩”)。
  • 在方块矩阵A (就是m = n)的情况下,则A是可逆的,当且仅当A有秩n(也就是A有满秩)。
  • 如果B是任何n × k矩阵,则AB的秩最大为A的秩和B的秩的小者。即:

*::\operatorname{rank}(AB) \leq \min(\operatorname{rank}\ A, \operatorname{rank}\ B).
*:推广到若干个矩阵的情况,就是:
*::\operatorname{rank}(A_1 A_2 \cdots A_n) \leq \min(\operatorname{rank}\ A_1, \operatorname{rank}\ A_2, \cdots, \operatorname{rank}\ A_n).
*:证明:
::考虑矩阵的秩的线性映射的定义,令A、B对应的线性映射分别为fg,则AB表示复合映射f·g,它的象Im f·gg的像Im g在映射f作用下的象。然而Im g是整个空间的一部分,因此它在映射f作用下的象也是整个空间在映射f作用下的象的一部分。也就是说映射Im f·gIm f*的一部分。对矩阵就是:秩(AB)≤秩(A)。
::对于另一个不等式:秩(AB)≤秩(B),考虑Im g的一组基:(e1,e2,...,en),容易证明(f(e1),f(e2),...,f(en))生成了空间Im f·g,于是Im f·g的维度小于等于Im g*的维度。对矩阵就是:秩(AB)≤秩(B)。
*::因此有:秩(AB)≤min(秩(A),秩(B))。若干个矩阵的情况证明类似。
*:作为" \begin{bmatrix}
0 & 0 \\
1 & 0 \\
\end{bmatrix}
\begin{bmatrix}
0 & 0 \\
0 & 1 \\
\end{bmatrix}
*:两个因子都有秩1,而这个积有秩0。
:可以看出,等号成立当且仅当其中一个矩阵(比如说A)对应的线性映射不减少空间的维度,即是单射,这时A*是满秩的。于是有以下性质:
: 如果B是秩nn × k矩阵,则
::\operatorname{rank}(AB) = \operatorname{rank}(A).
: 如果C是秩ml × m矩阵,则
::\operatorname{rank}(CA) = \operatorname{rank}(A).

  • A的秩等于r,当且仅当存在一个可逆m × m矩阵X和一个可逆的n × n矩阵Y使得

*:: XAY =
\begin{bmatrix}
I_r & 0 \\
0 & 0 \\
\end{bmatrix}
:这裡的Ir指示r × r* 单位矩阵。
*:证明可以通过高斯消去法构造性地给出。

  • 西尔维斯特不等式: 如果 A 是一个 m × n 的矩阵且 Bn × k 的, 则

*::\operatorname{rank}(A) + \operatorname{rank}(B) - n \leq \operatorname{rank}(A B).{{efn-lr|证明: 对不等式\dim \operatorname{ker}(AB) \le \dim \operatorname{ker}(A) + \dim \operatorname{ker}(B)使用秩-零化度定理}}
*:这是下一个不等式的特例.

  • 这个不等式是由Frobenius提出的: 如果 AB, ABCBC 有定义, 则

*:\operatorname{rank}(AB) + \operatorname{rank}(BC) \le \operatorname{rank}(B) + \operatorname{rank}(ABC).

  • 子加性:当矩阵A和B的形状相同时,有\operatorname{rank}(A + B) \leq \operatorname{rank}(A) + \operatorname{rank}(B) . 因此,一个秩为k的矩阵能够表示成k个秩为1的矩阵的加和,但不能是k-1个或更少。
  • 矩阵的秩加上矩阵的零化度等于矩阵的纵列数(这就是秩-零化度定理)。
  • 如果 A 是实数上的矩阵,那么 A 的秩和它对应格拉姆矩阵的秩相等。于是,对于实矩阵

*::\operatorname{rank}(A^T A) = \operatorname{rank}(A A^T) = \operatorname{rank}(A) = \operatorname{rank}(A^T).
*:该性质可以通过它们的零空间证明. 格拉姆矩阵的零空间由所有满足 A^T A x = 0的向量x组成。如果上式成立, 那么下式也成立: 0 = x^T A^T A x = |A x|^2,于是,A x = 0,即A^T A与A的零空间相同.

  • 如果 A 是复数上的矩阵且 A 表示 A 的共轭转置(i.e., A *的伴随), 则

:\operatorname{rank}(A) = \operatorname{rank}(\overline{A}) = \operatorname{rank}(A^T) = \operatorname{rank}(A^) = \operatorname{rank}(A^*A).

向量组的线性相关性
将m个n维列向量排列成n \times m的矩阵A,这个对应矩阵的秩即为原向量组的秩。

原向量组线性相关的充分必要条件为:
:r(A)

如果
:r(A) = m

则向量组线性无关。另外,不存在
:r(A) > m

特殊的,若向量的个数m大于向量的维数n,则根据:
:r(A) \le n

这个向量组必然线性相关。

计算
计算矩阵A的秩的最容易的方式是高斯消去法,即利用矩阵的初等变换生成一个行阶梯形矩阵,由于矩阵的初等变换不改变矩阵的秩,因此A的行阶梯形矩阵有同A一样的秩。经过初等变换的矩阵的非零行的数目就是原矩阵的秩。

例如考虑4 × 4矩阵
: A =
\begin{bmatrix}
2 & 4 & 1 & 3 \\
-1 & -2 & 1 & 0 \\
0 & 0 & 2 & 2 \\
3 & 6 & 2 & 5 \\
\end{bmatrix}

我们看到第2纵列是第1纵列的两倍,而第4纵列等于第1和第3纵列的总和。第1和第3纵列是线性无关的,所以A的秩是2。这可以用高斯算法验证。它生成下列A的行阶梯形矩阵:
: A =
\begin{bmatrix}
1 & 2 & 0 & 1 \\
0 & 0 & 1 & 1 \\
0 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 \\
\end{bmatrix}

它有两个非零的横行。

在应用在计算机上的浮点数的时候,基本高斯消去(LU分解)可能是不稳定的,应当使用秩启示(revealing)分解。一个有效的替代者是奇异值分解(SVD),但还有更少代价的选择,比如有支点(pivoting)的QR分解,它也比高斯消去在数值上更强壮。秩的数值判定要求对一个值比如来自SVD的一个奇异值是否为零的依据,实际选择依赖于矩阵和应用二者。

应用
计算矩阵的秩的一个有用应用是计算线性方程组解的数目。如果系数矩阵的秩等于增广矩阵的秩,则该方程组有解。在这种情况下,如果它的秩等于方程的数目那么该方程组有唯一的一个精确解。如果增广矩阵的秩大于系数矩阵的秩,则方程组是不一致(Inconsistent)的。

在控制论中,矩阵的秩可以用来确定线性系统是否为可控制的,或可观察的。

註解
参考文献

参见

  • 向量组的秩

评论 (0)

  • 还没有评论,来抢沙发吧。