秩 (线性代数)
秩 (线性代数)
!style=" text-align: left; background: #DCF0FF; font-size: 90%;"|线性空间与线性变换
线性空间 · 线性变换 · 线性子空间 · 线性生成空间 · 基 · 线性映射 · 线性投影 · 线性无关 · 线性组合 · 线性泛函 · 行空间与列空间 · 对偶空间 · 正交 · 特征向量 · 最小二乘法 · 格拉姆-施密特正交化
在线性代数中,一个矩阵 formula_1 的列秩是列向量生成的最大线性无关组的向量个数。类似地,行秩是矩阵formula_1 的线性无关的横行的个数。矩阵的列秩和行秩总是相等的,因此它们可以简单地称作矩阵 formula_1 的秩(--
)。通常表示为 formula_4 ,formula_5 或formula_6。
可替代定义.
用-{行列式}-定义.
设 formula_1 为 formula_8 矩阵。若 formula_1 至少有一个 formula_10 阶非零子式,而其所有 formula_11 阶子式全为零,即矩阵的最高阶非零子式的阶数为r。则称 formula_10 为 formula_1 的秩。
用向量组的秩定义.
对于 formula_14 维线性空间 formula_15 中的一个向量组 formula_16,若
formula_17 中的 formula_10 个向量线性无关,且若 formula_19,formula_20 中 formula_11 个向量都线性相关,则称 formula_22 为 formula_23 的极大线性无关组,formula_10 为 formula_23 的秩。可以证明 formula_26 的秩等于向量组 formula_26 生成的子空间的维数。
矩阵 formula_1 的列秩定义为 formula_1 的列向量组的秩,也即矩阵的列空间的维数。类似地,矩阵的行秩定义为 formula_1 的行向量组的秩,即矩阵的行空间的维数。
用线性映射定义.
考虑线性映射:
formula_31
formula_32
对于每个矩阵 formula_1,formula_34 都是一个线性映射,同时,对每个 formula_35 的
线性映射 formula_36,都存在矩阵 formula_37使得 formula_38。也就是说,映射
formula_39
formula_40
是一个同构映射。所以一个矩阵 formula_1 的秩还可定义为 formula_34 的像的维度(像与核的讨论参见线性映射)。矩阵 formula_1 称为 formula_34 的变换矩阵。这个定义的好处是适用于任何线性映射而不需要指定矩阵,因为每个线性映射有且仅有一个矩阵与其对应。秩还可以定义为 formula_45 的核的维度;秩-零化度定理声称它等于 formula_36 的像的维度。
行秩列秩相等性.
矩阵的行秩与列秩相等,是线性代数基本定理的重要组成部分。其基本证明思路是,矩阵可以看作线性映射的变换矩阵,列秩为像空间的维度,行秩为非零原像空间的维度,因此列秩与行秩相等,即像空间的维度与非零原像空间的维度相等(这里的非零原像空间是指约去了零空间后的商空间:原像空间)。这从矩阵的奇异值分解就可以看出来。
给出这一结果的两种证明. 第一个证明是简短的,仅用到向量的线性组合的基本性质. 第二个证明利用了正交性. 第一个证明利用了列空间的基, 第二个证明利用了行向量空间的基. 第一个证明适用于定义在标量域上的矩阵,第二个证明适用于内积空间。二者都适用于实或复的欧氏空间,也都易于修改去证明当A是线性变换的情形.
证明一.
令 formula_1 是一个 formula_8 的矩阵,其列秩为 formula_10 . 因此矩阵 formula_1 的列空间的维度是 formula_10 . 令 formula_52 是 formula_1 的列空间的一组基,构成 formula_54 矩阵 formula_55的列向量 formula_56,并使得 formula_1 的每个列向量是 formula_55的formula_10 个列向量的线性组合. 由矩阵乘法的定义,存在一个 formula_60 矩阵 formula_61, 使得 formula_62. (formula_1 的 formula_64 元素是 formula_65 与 formula_61 的第 formula_67 个行向量的点积.)
现在,由于 formula_62, formula_1 的每个行向量是 formula_61 的行向量的线性组合,这意味着 formula_1 的行向量空间被包含于 formula_61 的行向量空间之中. 因此 formula_1 的行秩 ≤ formula_61的行秩. 但formula_61仅有formula_10行, 所以formula_61的行秩 ≤ formula_10 = formula_1的列秩. 这就证明了formula_1的行秩 ≤ formula_1的列秩.
把上述证明过程中的“行”与“列”交换,利用对偶性质同样可证formula_1的列秩 ≤ formula_1的行秩。更简单的方法是考虑formula_1的转置矩阵formula_85,则formula_1的列秩 = formula_85的行秩 ≤ formula_85的列秩 = formula_1的行秩. 这证明了formula_1的列秩等于formula_1的行秩. 证毕.
证明二.
令formula_1是formula_8矩阵,其行秩是formula_10. 因此formula_1的行向量空间的维度是formula_10,设formula_97是formula_1的行向量空间的一组基. 如果把这组基当作原像列向量看待,则向量集formula_99是线性独立的。 这是因为对一组标量系数formula_52,如果:
formula_101
其中formula_102. 则可以推出有两个事实: (a) formula_103是formula_1行向量空间的线性组合, 即formula_103属于formula_1的行向量空间;(b) 由于formula_107 = 0, formula_103正交于formula_1的所有行向量,从而正交于formula_1的行向量空间的所有向量. 事实(a)与(b)结合起来,则formula_103正交于自身,这意味着formula_103 = 0. 由formula_103的定义:
formula_114
再由formula_115是formula_1的行向量空间的一组线性独立的基,可知formula_117. formula_99因而是线性独立的.
formula_119是formula_1的列空间中的向量. 因此formula_99是formula_1的列空间中formula_10个线性独立的向量. 所以formula_1的列向量空间的维数(formula_1的列秩)必然不小于formula_10. 这证明了formula_1的行秩r ≤ formula_1的列秩. 把这一结果应用于formula_1的转置矩阵可以得到: formula_1的列秩 = formula_85的行秩 ≤ formula_85列秩 = formula_1的行秩. 这证明了formula_1的列秩等于formula_1的行秩,证毕.
最后, 还可以证明rk("A") = rk("A"*), 其中"A"*是"A"的共轭转置或称施密特转置. 当"A"的元素都是实数, 这一结果变为rk("A") = rk("A"T). 然而对于复系数矩阵,rk("A") = rk("A"*)并不等价于行秩等于列秩, 需要用到上述两个证明.
证明三.
令"A"是一个"m"×"n"矩阵. 定义rk(A)为"A"的列秩,"A"*为"A"的共轭转置或称施密特转置. 首先可知"A"*"Ax" = 0当且仅当"Ax" = 0.
"A"*"Ax" = 0 ⇒ "x"*"A"*"Ax" = 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"矩阵并描述了上述线性映射。
向量组的线性相关性.
将formula_14个formula_156维列向量排列成formula_157的矩阵"A",这个对应矩阵的秩即为原向量组的秩。
原向量组线性相关的充分必要条件为:
formula_158
如果
formula_159
则向量组线性无关。另外,不存在
formula_160
特殊的,若向量的个数formula_14大于向量的维数formula_156,则根据:
formula_163
这个向量组必然线性相关。
计算.
计算矩阵"A"的秩的最容易的方式是高斯消去法,即利用矩阵的初等变换生成一个行阶梯形矩阵,由于矩阵的初等变换不改变矩阵的秩,因此"A"的行阶梯形矩阵有同"A"一样的秩。经过初等变换的矩阵的非零行的数目就是原矩阵的秩。
例如考虑4 × 4矩阵
formula_164
我们看到第2纵列是第1纵列的两倍,而第4纵列等于第1和第3纵列的总和。第1和第3纵列是线性无关的,所以"A"的秩是2。这可以用高斯算法验证。它生成下列"A"的行阶梯形矩阵:
formula_165
它有两个非零的横行。
在应用在计算机上的浮点数的时候,基本高斯消去(LU分解)可能是不稳定的,应当使用秩启示(revealing)分解。一个有效的替代者是奇异值分解(SVD),但还有更少代价的选择,比如有支点(pivoting)的QR分解,它也比高斯消去在数值上更强壮。秩的数值判定要求对一个值比如来自SVD的一个奇异值是否为零的依据,实际选择依赖于矩阵和应用二者。
应用.
计算矩阵的秩的一个有用应用是计算线性方程组解的数目。如果系数矩阵的秩等于增广矩阵的秩,则该方程组有解。在这种情况下,如果它的秩等于方程的数目那么该方程组有唯一的一个精确解。如果增广矩阵的秩大于系数矩阵的秩,则方程组是不一致(Inconsistent)的。
在控制论中,矩阵的秩可以用来确定线性系统是否为可控制的,或可观察的。