在线性代数(linear algebra)中,矩阵 最简行列式python 最简行列式的秩_最简行列式python 的秩是由它的列向量生成(张成)的列空间的维度。这对应 最简行列式python 最简行列式的秩_最简行列式python 中线性无关(linearly independent)的列的极大数目。这也和它的行向量张成的行空间的维度相等。因此,秩是由 最简行列式python 最简行列式的秩_最简行列式python 表示的线性方程组和线性变换的“非退化性”(nondegenerateness)的度量。秩有多个等价定义。矩阵的秩是它最基本(fundamental)的特征之一。

从行阶梯形得到秩

求矩阵秩的一种常用方法是通过初等行变换(elementary row operations)将其简化为更简单的形式,通常是行阶梯形(row echelon form)。行变换不改变行空间(因此不改变行秩),并且,由于是可逆的,映射列空间到同构(isomorphic)空间(因此不改变列秩)。一旦变成行最简形,行秩和列秩显然是相同的,等于主元(pivot)数和非零行数。主元是指每一行第一个非零元素。

例如,矩阵
最简行列式python 最简行列式的秩_最简行列式python_04
可以通过以下初等行运算将其化为行最简形:

最简行列式python 最简行列式的秩_最简行列式python_05

最终的矩阵(行最简形)有两个非零行,因此矩阵 最简行列式python 最简行列式的秩_最简行列式python

列秩=行秩的证明(任意形状的矩阵都成立,不一定是方阵)

可以很直观地表明,行秩和列秩都不会被初等行变换改变。当高斯消元(Gaussian elimination)通过初等行变换进行时,矩阵的行最简形具有与原始矩阵相同的行秩和列秩。进一步的,初等变换将矩阵变为含有单位矩阵(identity matrix)的形式(相抵标准形),可能含0元素的行和列边界。同样,这既不会改变行秩,也不会改变列秩。由此得到的矩阵的行和列的秩是其非零元素的数目,注意单位矩阵非零元素只在其主对角线上,非零元素个数等于其阶数。下述矩阵为相抵标准形。其中,最简行列式python 最简行列式的秩_常用方法_07为单位矩阵。
最简行列式python 最简行列式的秩_线性方程组_08

使用线性组合证明

最简行列式python 最简行列式的秩_最简行列式python 是一个 最简行列式python 最简行列式的秩_常用方法_10 的矩阵。
最简行列式python 最简行列式的秩_线性方程组_11
注意,上述矩阵 最简行列式python 最简行列式的秩_最简行列式python 以列分块矩阵表示。 最简行列式python 最简行列式的秩_常用方法_13表示 矩阵 最简行列式python 最简行列式的秩_最简行列式python 的第 最简行列式python 最简行列式的秩_常用方法_15

令其列秩最简行列式python 最简行列式的秩_线性代数_16 ,而且令 最简行列式python 最简行列式的秩_线性方程组_17最简行列式python 最简行列式的秩_最简行列式python 列空间的任意一个。将这个基排列成一个 最简行列式python 最简行列式的秩_最简行列式python_19 的矩阵 最简行列式python 最简行列式的秩_常用方法_20最简行列式python 最简行列式的秩_最简行列式python 的每一列都可以被表示成 最简行列式python 最简行列式的秩_常用方法_20最简行列式python 最简行列式的秩_线性代数_16 个列向量的线性组合(linear combination)。
最简行列式python 最简行列式的秩_线性代数_24
这意味着存在一个 最简行列式python 最简行列式的秩_常用方法_25 的矩阵 最简行列式python 最简行列式的秩_线性方程组_26 ,满足 最简行列式python 最简行列式的秩_线性方程组_27最简行列式python 最简行列式的秩_线性方程组_26 中的每一列是基的线性组合的系数。
最简行列式python 最简行列式的秩_最简行列式python_29

最简行列式python 最简行列式的秩_线性方程组_30

现在重写 最简行列式python 最简行列式的秩_线性方程组_26,将其行分块。得:
最简行列式python 最简行列式的秩_线性方程组_32
重写 最简行列式python 最简行列式的秩_最简行列式python, 将其行分块,得:
最简行列式python 最简行列式的秩_线性代数_34
最简行列式python 最简行列式的秩_常用方法_20 写成
最简行列式python 最简行列式的秩_最简行列式python_36
最简行列式python 最简行列式的秩_线性代数_37

现在,A的每一行都由 最简行列式python 最简行列式的秩_线性方程组_26最简行列式python 最简行列式的秩_线性代数_16 行 线性组合给出。因此, 最简行列式python 最简行列式的秩_线性方程组_26 的行向量是 最简行列式python 最简行列式的秩_最简行列式python 的行空间的一个基,而且由于Steinitz exchange 引理(在附录有详细说明),最简行列式python 最简行列式的秩_最简行列式python 的行秩不能超过 最简行列式python 最简行列式的秩_线性代数_16 。这个证明了 最简行列式python 最简行列式的秩_最简行列式python的行秩小于等于列秩。由于上面推导过程可以适用于任何矩阵,所以把它应用在矩阵 最简行列式python 最简行列式的秩_最简行列式python_45。由于 最简行列式python 最简行列式的秩_常用方法_46行秩是 最简行列式python 最简行列式的秩_最简行列式python_45,同时 最简行列式python 最简行列式的秩_常用方法_46 的列秩是 最简行列式python 最简行列式的秩_最简行列式python 的行秩。所以得到 最简行列式python 最简行列式的秩_最简行列式python 的列秩小于等于行秩。所以 最简行列式python 最简行列式的秩_最简行列式python

注:利用分块矩阵证明时,一般是
最简行列式python 最简行列式的秩_常用方法_52

最简行列式python 最简行列式的秩_线性代数_53

还有
最简行列式python 最简行列式的秩_线性方程组_54
表示的矩阵 最简行列式python 最简行列式的秩_最简行列式python 列空间中的某个向量。因为将矩阵 最简行列式python 最简行列式的秩_最简行列式python 按列分块,向量 最简行列式python 最简行列式的秩_最简行列式python_57 中的元素作为线性组合的标量系数,那么整个 最简行列式python 最简行列式的秩_常用方法_58 就是矩阵 最简行列式python 最简行列式的秩_最简行列式python

使用正交性证明

最简行列式python 最简行列式的秩_最简行列式python 是一个 最简行列式python 最简行列式的秩_常用方法_10 的矩阵,矩阵的行秩最简行列式python 最简行列式的秩_线性代数_16, 矩阵元素属于实数域。因此,矩阵 最简行列式python 最简行列式的秩_最简行列式python 行空间的维度是 最简行列式python 最简行列式的秩_线性代数_16 。令
最简行列式python 最简行列式的秩_常用方法_65
最简行列式python 最简行列式的秩_最简行列式python行空间的一个

最简行列式python 最简行列式的秩_线性方程组_67最简行列式python 最简行列式的秩_最简行列式python_68的向量 (转置了)。
最简行列式python 最简行列式的秩_线性方程组_69
线性无关的。为什么?考虑下列齐次线性关系,其中 最简行列式python 最简行列式的秩_常用方法_70标量系数
最简行列式python 最简行列式的秩_最简行列式python_71
其中 最简行列式python 最简行列式的秩_最简行列式python_72不难观察出

  1. 最简行列式python 最简行列式的秩_最简行列式python_73最简行列式python 最简行列式的秩_最简行列式python_45 的行空间中的向量的线性组合,这意味着 最简行列式python 最简行列式的秩_最简行列式python_73 属于行空间
  2. 因为 最简行列式python 最简行列式的秩_最简行列式python_76 ,所以向量 最简行列式python 最简行列式的秩_线性代数_77最简行列式python 最简行列式的秩_最简行列式python_45每一个行向量 正交(orthogonal)(将矩阵 最简行列式python 最简行列式的秩_最简行列式python_45 行分块),因此和 最简行列式python 最简行列式的秩_最简行列式python_45行空间中每一个向量正交

上述事实1和2推导出 向量 最简行列式python 最简行列式的秩_线性代数_81 和它自己正交。这证明了 最简行列式python 最简行列式的秩_线性代数_82,或者根据 最简行列式python 最简行列式的秩_线性代数_81 的定义:
最简行列式python 最简行列式的秩_线性代数_84
由于 最简行列式python 最简行列式的秩_最简行列式python_85最简行列式python 最简行列式的秩_最简行列式python 的行空间的一个基,所以是线性无关的。这推导出 最简行列式python 最简行列式的秩_常用方法_87 。故最简行列式python 最简行列式的秩_最简行列式python_88

现在,
最简行列式python 最简行列式的秩_常用方法_89

每一个 最简行列式python 最简行列式的秩_线性代数_90 显然是 最简行列式python 最简行列式的秩_最简行列式python 列空间的一个向量(矩阵 最简行列式python 最简行列式的秩_最简行列式python 按行分块,向量 最简行列式python 最简行列式的秩_最简行列式python_93 每个元素作为线性组合的标量系数)。 故,最简行列式python 最简行列式的秩_最简行列式python_88最简行列式python 最简行列式的秩_最简行列式python 的列空间 中 最简行列式python 最简行列式的秩_线性代数_16 个线性无关的向量,而且 最简行列式python 最简行列式的秩_最简行列式python 的列空间的维度大于等于 最简行列式python 最简行列式的秩_线性代数_16 (这是显然的,因为列空间已经存在 最简行列式python 最简行列式的秩_线性代数_16 个线性无关的向量,至少有 最简行列式python 最简行列式的秩_线性代数_16 个,有没有更多的线性无关向量不知道,但是有这个可能性)。这证明了 最简行列式python 最简行列式的秩_最简行列式python 的行秩小于等于列秩。现在对 最简行列式python 最简行列式的秩_常用方法_102 同样进行类似推导,即可得到 最简行列式python 最简行列式的秩_最简行列式python 的列秩小于等于行秩的结论。即证明得到 最简行列式python 最简行列式的秩_最简行列式python

替代定义

在这个版块中,矩阵 最简行列式python 最简行列式的秩_最简行列式python 都是 最简行列式python 最简行列式的秩_线性方程组_106 的矩阵,在任意数域 最简行列式python 最简行列式的秩_线性方程组_107

像的维度

给定矩阵 最简行列式python 最简行列式的秩_最简行列式python ,其对应的线性映射 (linear mapping)
最简行列式python 最简行列式的秩_线性代数_109

最简行列式python 最简行列式的秩_线性方程组_110
定义

最简行列式python 最简行列式的秩_最简行列式python 的秩是 最简行列式python 最简行列式的秩_线性方程组_112

考虑零度(nullity)的秩

给定和上面一样的线性映射 最简行列式python 最简行列式的秩_线性方程组_112 ,它的秩是
最简行列式python 最简行列式的秩_最简行列式python_114
最简行列式python 最简行列式的秩_线性代数_115 减去 最简行列式python 最简行列式的秩_线性方程组_112 的核的维度。秩-零化度定理(rank-nullity theorem)表明这个定义和前面的定义是等价的。

列秩-列空间的维度

最简行列式python 最简行列式的秩_最简行列式python 的秩是 最简行列式python 最简行列式的秩_最简行列式python 的列向量中的极大无关组的向量的个数。这是 最简行列式python 最简行列式的秩_最简行列式python 列空间的维度。(列空间是 最简行列式python 最简行列式的秩_线性代数_120 的子空间,由 最简行列式python 最简行列式的秩_最简行列式python 的列向量生成,事实上这就是与 最简行列式python 最简行列式的秩_最简行列式python 相关的线性映射 最简行列式python 最简行列式的秩_线性方程组_112

行秩-行空间的维度

最简行列式python 最简行列式的秩_最简行列式python 的秩是 最简行列式python 最简行列式的秩_最简行列式python 的行向量中的极大无关组的向量的个数。这是 最简行列式python 最简行列式的秩_最简行列式python

分解秩(Decomposition rank)

最简行列式python 最简行列式的秩_最简行列式python 的秩是最小的整数 最简行列式python 最简行列式的秩_线性代数_128最简行列式python 最简行列式的秩_最简行列式python_129 最简行列式python 最简行列式的秩_最简行列式python 可以被分解为 最简行列式python 最简行列式的秩_线性方程组_27 ,其中 最简行列式python 最简行列式的秩_常用方法_20 是一个 最简行列式python 最简行列式的秩_常用方法_133 的矩阵,最简行列式python 最简行列式的秩_线性方程组_26 是一个 最简行列式python 最简行列式的秩_线性方程组_135

  1. 最简行列式python 最简行列式的秩_最简行列式python_45 的列秩小于等于 最简行列式python 最简行列式的秩_线性代数_137
  2. 存在 最简行列式python 最简行列式的秩_线性代数_137 个大小为 最简行列式python 最简行列式的秩_线性代数_139 的列向量最简行列式python 最简行列式的秩_常用方法_140 s.t. 最简行列式python 最简行列式的秩_最简行列式python_45
  3. 存在一个 最简行列式python 最简行列式的秩_线性方程组_142 的矩阵 最简行列式python 最简行列式的秩_线性方程组_143 和一个 最简行列式python 最简行列式的秩_常用方法_144 的矩阵最简行列式python 最简行列式的秩_线性方程组_145 满足最简行列式python 最简行列式的秩_线性代数_146 (当 最简行列式python 最简行列式的秩_线性代数_137 是秩,此时是 最简行列式python 最简行列式的秩_最简行列式python_45
  4. 存在 最简行列式python 最简行列式的秩_线性代数_137 个大小为 最简行列式python 最简行列式的秩_线性代数_139 的列向量最简行列式python 最简行列式的秩_常用方法_151 s.t. 最简行列式python 最简行列式的秩_最简行列式python_45
  5. 最简行列式python 最简行列式的秩_最简行列式python_45 的行秩小于等于 最简行列式python 最简行列式的秩_线性代数_137

事实上,上述5个结论等价是很显然的。比如,证明从2中能推出3,令矩阵 最简行列式python 最简行列式的秩_常用方法_20 的列向量是2中的最简行列式python 最简行列式的秩_常用方法_156 。证明从3能推出2,取3中的矩阵 最简行列式python 最简行列式的秩_常用方法_20 的列向量作为 最简行列式python 最简行列式的秩_常用方法_156

考虑奇异值的秩

最简行列式python 最简行列式的秩_最简行列式python 的秩等于非零奇异值的数目,这和奇异值分解
最简行列式python 最简行列式的秩_最简行列式python_160
最简行列式python 最简行列式的秩_线性代数_161

与行列式有关的秩(Determinantal rank)

最简行列式python 最简行列式的秩_最简行列式python 的秩是 最简行列式python 最简行列式的秩_最简行列式python

和分解秩一样,这种定义并没有给出一个计算秩的高效方法,但是它在理论上是有用的:针对矩阵的秩,一个非零余子式提供了一个下界(它的阶)。对于证明某些操作不会降低矩阵的秩,它是有效的。

命题:若矩阵最简行列式python 最简行列式的秩_最简行列式python中有一个 最简行列式python 最简行列式的秩_线性代数_128 阶子式不等于 0,则 最简行列式python 最简行列式的秩_线性方程组_166; 若 最简行列式python 最简行列式的秩_最简行列式python 的所有 最简行列式python 最简行列式的秩_线性代数_168 阶子式都等于 最简行列式python 最简行列式的秩_线性方程组_169,则 最简行列式python 最简行列式的秩_线性代数_170

引理:将矩阵 最简行列式python 最简行列式的秩_最简行列式python 划去若干行得到矩阵 最简行列式python 最简行列式的秩_线性代数_172,则 最简行列式python 最简行列式的秩_线性代数_173

证明:如果 最简行列式python 最简行列式的秩_最简行列式python 中有一个 最简行列式python 最简行列式的秩_线性代数_128 阶子式不等于零,则将这个子式所在的行对调到前$ k$ 行,并对这 最简行列式python 最简行列式的秩_线性代数_128 行进行初等 行变换,可以变成一个阶梯型子块,该子块中不可能有一行全部为零,否则与原 最简行列式python 最简行列式的秩_线性代数_128 阶子式不等于 0 矛盾,则根据引理,最简行列式python 最简行列式的秩_线性方程组_178; 若最简行列式python 最简行列式的秩_最简行列式python 的所有 最简行列式python 最简行列式的秩_线性代数_168 阶子式都等于 最简行列式python 最简行列式的秩_线性方程组_169,则将 最简行列式python 最简行列式的秩_最简行列式python 等价变成阶梯型后非零行的个数不可能大于或等于 最简行列式python 最简行列式的秩_线性代数_168,否则 最简行列式python 最简行列式的秩_最简行列式python 中应至少有一个 最简行列式python 最简行列式的秩_线性代数_168 阶子式不为零,所以 最简行列式python 最简行列式的秩_常用方法_186

评注:如果一个矩阵的行列式不为0,那么经过有限次初等行变换,矩阵不可能出现全零行,否则它的行列式为0。上面的证明要结合子块整个大矩阵两个层次去看。

性质

我们假设 最简行列式python 最简行列式的秩_最简行列式python 是一个 最简行列式python 最简行列式的秩_常用方法_10 的矩阵,而且我们定义线性映射 最简行列式python 最简行列式的秩_线性方程组_112 ,通过 最简行列式python 最简行列式的秩_常用方法_190

  • 一个 最简行列式python 最简行列式的秩_线性代数_191 矩阵的秩是非负整数,而且不能大于 最简行列式python 最简行列式的秩_线性方程组_192 或者 最简行列式python 最简行列式的秩_最简行列式python_193
    最简行列式python 最简行列式的秩_最简行列式python_194
    一个矩阵的秩如果为 最简行列式python 最简行列式的秩_线性代数_195 ,则它是满秩的(full rank),否则是秩亏(rank deficient)。
  • 只有零矩阵(所有元素都是0,zero matrix)的秩才是0。
  • 最简行列式python 最简行列式的秩_线性方程组_196单射(或“一对一”,injective)当且仅当 最简行列式python 最简行列式的秩_线性方程组_197 有秩 最简行列式python 最简行列式的秩_最简行列式python_193 (在这种情况下,我们说最简行列式python 最简行列式的秩_线性方程组_197满列秩)。
  • 最简行列式python 最简行列式的秩_线性方程组_196满射(surjective)当且仅当 最简行列式python 最简行列式的秩_线性方程组_197 有秩 最简行列式python 最简行列式的秩_线性方程组_192 (在这种情况下,我们说A有满行秩)。
  • 如果 最简行列式python 最简行列式的秩_线性方程组_197 是一个方阵(即 最简行列式python 最简行列式的秩_线性方程组_204),则 最简行列式python 最简行列式的秩_线性方程组_197 是可逆的当且仅当 最简行列式python 最简行列式的秩_线性方程组_197 的秩为最简行列式python 最简行列式的秩_最简行列式python_193(即最简行列式python 最简行列式的秩_线性方程组_197的秩满)。
  • 如果 最简行列式python 最简行列式的秩_线性方程组_209 是任意的 最简行列式python 最简行列式的秩_线性方程组_210 矩阵,则
    最简行列式python 最简行列式的秩_线性代数_211
  • 如果 最简行列式python 最简行列式的秩_最简行列式python_212 是任意的 最简行列式python 最简行列式的秩_线性代数_213 矩阵,秩为 最简行列式python 最简行列式的秩_常用方法_214
    最简行列式python 最简行列式的秩_线性代数_215
  • 如果 最简行列式python 最简行列式的秩_线性代数_216 是一个 最简行列式python 最简行列式的秩_线性方程组_217 的矩阵,秩为 最简行列式python 最简行列式的秩_线性方程组_218
    最简行列式python 最简行列式的秩_线性代数_219
  • 最简行列式python 最简行列式的秩_线性方程组_197 的秩为 最简行列式python 最简行列式的秩_线性代数_221 当且仅当 存在一个可逆的 最简行列式python 最简行列式的秩_线性方程组_222 矩阵 最简行列式python 最简行列式的秩_线性代数_223 和一个可逆的 最简行列式python 最简行列式的秩_常用方法_224 的矩阵 最简行列式python 最简行列式的秩_线性代数_225 满足
    最简行列式python 最简行列式的秩_线性代数_226
    其中,最简行列式python 最简行列式的秩_最简行列式python_227 表示一个 最简行列式python 最简行列式的秩_线性代数_228
  • Sylverster的 秩不等式,矩阵 最简行列式python 最简行列式的秩_线性方程组_209最简行列式python 最简行列式的秩_线性方程组_210 的矩阵,则
    最简行列式python 最简行列式的秩_线性方程组_231
    这个不等式是下个不等式的一个特例
  • Frobenius不等式,如果 最简行列式python 最简行列式的秩_线性方程组_232 都有定义,则
    最简行列式python 最简行列式的秩_常用方法_233
  • Subadditivity:
    最简行列式python 最简行列式的秩_常用方法_234
    最简行列式python 最简行列式的秩_线性方程组_197最简行列式python 最简行列式的秩_线性方程组_209 拥有相同维度。作为一个结论,一个秩为 最简行列式python 最简行列式的秩_最简行列式python_237 的矩阵可以被写成 最简行列式python 最简行列式的秩_最简行列式python_237
  • 矩阵的秩加上矩阵的零度等于矩阵的列数(rank-nullity theorem)
  • 如果 最简行列式python 最简行列式的秩_线性方程组_197 是一个在实数域上的矩阵,那么 最简行列式python 最简行列式的秩_线性方程组_197 的秩和 最简行列式python 最简行列式的秩_线性方程组_197 对应的 Gram 矩阵(度量矩阵)的秩相等。因此,对于实数阵,有
    最简行列式python 最简行列式的秩_最简行列式python_242
    这个可以通过证明他们的零空间(null spaces)相等来说明。Gram矩阵的零空间是由
    最简行列式python 最简行列式的秩_线性代数_243
    中的向量 最简行列式python 最简行列式的秩_线性方程组_244
  • 如果 最简行列式python 最简行列式的秩_线性方程组_197 是一个在复数域上的矩阵,而且 最简行列式python 最简行列式的秩_常用方法_246表示 最简行列式python 最简行列式的秩_线性方程组_197 的共轭(complex conjugate),而且最简行列式python 最简行列式的秩_线性方程组_248 表示共轭转置,则
    最简行列式python 最简行列式的秩_常用方法_249

附录

Steinitz exchange 引理

如果 最简行列式python 最简行列式的秩_线性代数_250 是一个含有 最简行列式python 最简行列式的秩_线性方程组_251 个线性无关向量的集合,它在向量空间 最简行列式python 最简行列式的秩_最简行列式python_252 中。而且 最简行列式python 最简行列式的秩_最简行列式python_253 张成 最简行列式python 最简行列式的秩_最简行列式python_252

  1. 最简行列式python 最简行列式的秩_常用方法_255
  2. 存在一个集合 最简行列式python 最简行列式的秩_线性代数_256最简行列式python 最简行列式的秩_线性代数_257, s.t. 最简行列式python 最简行列式的秩_常用方法_258 张成 最简行列式python 最简行列式的秩_常用方法_259

参考文献

  1. 维基百科Rank (linear algebra)
  2. 王玉富.矩阵秩的不同定义及其比较[J].湖北民族学院学报(自然科学版),2011,29(03):264-267.