跳到正文
格致开物MATHWIKI

矩阵的秩

矩阵的秩(rank)是矩阵列向量能够提供的独立方向数;它也等于行向量的独立方向数。秩不是“非零数字的个数”,而是在询问哪些信息可以由其他列或行线性组合出来。

想象三种原料分别对应系数矩阵的三列。若第三列恰能由前两列拼出,给第三种原料任意增加一份,同时调整前两种原料,最终产物可能完全不变。方程 Ax=b 中的自由变量和不可辨认的输入,正来自这样的依赖关系。

行阶梯形中的主元

考虑 B=(123246111). 第二行是第一行的两倍。用消元,先做 R2←R2−2R1、R3←R3−R1,再交换后两行,可得 B∼(1230−1−2000) 阶梯形中有两个非零行、两个主元,因此 rank⁡(B)=2。这里的 ∼ 表示经可逆初等行变换得到,不表示两个矩阵逐项相等。

也可直接从列看:记三列为 c1,c2,c3,计算得 c3=2c2−c1。前两列不成比例,故确有两个独立方向;第三列没有增加新的方向。这与消元所得秩相符。

被抹去的输入方向

令 Bx=0,其中 x=(x1,x2,x3)𝖳。阶梯形给出 x1+2x2+3x3=0,−x2−2x3=0. 取自由变量 x3=t,就有 x2=−2t、x1=t,因此 ker⁡B={t(1,−2,1)𝖳:t∈ℝ}. 直接把 (1,−2,1) 代回原矩阵,三行结果都是零。输入有三个坐标,两个独立方向能在输出中辨认,剩下一个方向被映成零。这里具体体现了线性代数中的秩—零度定理: 输入维数=rank⁡(B)+dim⁡ker⁡B=2+1=3.

方程的可解性与秩

现在考虑 Bx=b。因为原矩阵第二行是第一行两倍,右端也必须满足 b2=2b1。例如 b=(3,6,2)𝖳 满足这一必要条件;消元后它确有解。若把中间的 6 改成 7,左端第二行仍永远是第一行两倍,右端却不是,方程必无解。

一般地,在增广矩阵 [A∣b] 中做行变换:

  • 若 rank⁡(A)<rank⁡([A∣b]),最后出现 0=c(c≠0),无解。
  • 若两秩相等,至少有一个解;若这共同的秩还等于未知数个数,则没有自由变量,解唯一;否则有无穷多解(在实数域上)。

这不是一套另起的规则。增广列 b 若增加了一个独立方向,表示目标不在原列空间,因而拼不出;若没有增加,则目标可以由原列组合出来。

行秩与列秩相等

可逆行运算相当于对所有列同时施加一个可逆变换,因此不会改变列之间的线性关系。把矩阵化为行最简形后,主元列的数量既是独立列的数量,也是非零行的数量。于是行空间和列空间虽然处在不同坐标空间、具体向量不一样,维数却相等,统称矩阵的秩。

在精确算术中,主元是否为零是明确的。实测数据用小数表示时,一个非常小但非零的主元可能来自舍入或噪声;此时“数值秩”要说明容差和单位缩放,不能只靠肉眼数非零项。最小二乘法中的拟合参数是否可辨认,就与设计矩阵的秩有关。

参考资料