矩阵的秩和特征值,这两个词在线性代数里抬头不见低头见,但要把它们俩的关系说清楚,还真得费点口舌。很多人学完线性代数,对这俩概念也是一知半解,感觉它们都挺重要,但具体怎么重要,相互之间有什么联系,就说不太清了。咱们今天就聊聊这个事。
先说矩阵的秩(Rank)。你可以把矩阵的秩看作是这个矩阵“信息量”的一种度量。具体来说,一个矩阵的秩,就是它所有列向量(或者行向量)中,线性无关的向量的最大个数。 听起来有点绕,我打个比方。
想象一下,你有一组向量,每个向量都代表一个方向。如果其中一个向量可以通过其他向量的拉伸、缩短或者反向再相加得到,那这个向量就是多余的,因为它没有提供新的方向信息。比如向量 C 是向量 A 和向量 B 的和,那么 C 就是“线性相关”的,我们知道了 A 和 B,就等于知道了 C。把所有这些多余的、能被别人表示出来的向量都踢出去,剩下的、谁也替代不了谁的“核心”向量的个数,就是这组向量的秩,也就是矩阵的秩。
所以,一个矩阵的秩越高,代表它包含的“独立方向”信息就越多。如果一个 n x n 的方阵,它的秩是 n,我们就说这个矩阵是“满秩”的。 这意味着它的所有行向量和列向量都是线性无关的,谁也代表不了谁,信息量达到了最大。反之,如果秩小于 n,就是“秩亏”或者叫“奇异矩阵”,说明它的向量之间存在依赖关系,信息有冗余。
再来说特征值(Eigenvalue)和特征向量(Eigenvector)。这两个概念必须一起理解。一个矩阵通常代表着一种线性变换,比如旋转、拉伸、剪切等。当你用一个矩阵去乘以一个向量时,相当于对这个向量进行了一次变换。大部分向量经过这个变换后,方向都会发生改变。
但是,总有那么一些特殊的向量,当被这个矩阵作用之后,方向保持不变(或者恰好反向),只是在长度上被拉伸或者压缩了一定的比例。 这种“方向不变”的特殊向量,就是这个矩阵的“特征向量”,而那个拉伸或压缩的比例,就是对应的“特征值”。
举个例子,想象一个在 xy 平面上的图形,我们对它做一个水平方向的拉伸变换,让所有点的 x 坐标都变成原来的 2 倍,y 坐标不变。这个变换可以用一个矩阵来表示。对于这个变换来说,所有在 x 轴上的向量就是它的特征向量,因为变换后方向还在 x 轴上,只是长度变成了原来的 2 倍。所以,它们对应的特征值就是 2。所有在 y 轴上的向量也是特征向量,因为变换后它们根本没动,长度是原来的 1 倍,所以对应的特征值是 1。
好了,铺垫了这么多,现在可以正式聊聊秩和特征值的关系了。
最核心的一点是:对于一个 n x n 的方阵,它的秩等于它非零特征值的个数(计入代数重数)。
这句话是关键,但对初学者可能不太好理解,我们把它拆开揉碎了说。
首先,一个 n x n 的矩阵,它一定有 n 个特征值(包括复数特征值和重复的特征值)。 这一点是由代数基本定理保证的,因为求特征值的过程本质上是解一个 n 次多项式方程(即特征方程 det(A – λI) = 0),这个方程一定有 n 个根。
现在,我们来思考一个特殊情况:如果一个矩阵有一个特征值是 0,这意味着什么?
根据特征值的定义,如果 λ 是一个特征值,那么必须存在一个非零的特征向量 x,使得 Ax = λx。 如果这个特征值 λ 正好是 0,那么方程就变成了 Ax = 0x,也就是 Ax = 0。
这个方程 Ax = 0 太眼熟了,它是一个齐次线性方程组。这个方程有非零解 x,正好说明了矩阵 A 的列向量是线性相关的。换句话说,矩阵 A 不是满秩的,它是奇异的。 从另一个角度看,Ax = 0 有非零解,意味着矩阵 A 的零空间(Kernel)里不只有零向量,零空间的维度(也叫零化度)大于 0。
根据秩-零化度定理,一个 n x n 矩阵的“秩”加上它的“零化度”等于 n。 既然零化度(也就是特征值 0 对应的特征空间的维度)大于 0,那么矩阵的秩就必然小于 n。
这就建立起了第一个直观的联系:一个矩阵只要有 0 这个特征值,它就一定是奇异矩阵,也就是秩亏的。反过来说,一个满秩矩阵,它的特征值里绝对没有 0。
为什么?因为如果一个 n x n 矩阵是满秩的,意味着它的列向量线性无关,方程 Ax = 0 只有唯一的零解 x = 0。而特征向量的定义要求它必须是非零向量,所以就不可能存在一个特征值 0 对应着一个非零的特征向量。
现在我们把这个关系再往前推一步。一个特征值是 0,秩就至少亏了 1。那如果有 k 个特征值为 0 呢?
这里要分情况讨论。对于一类比较“友好”的矩阵,比如对称矩阵,事情就变得很简单。对称矩阵有一个很好的性质,就是它可以被“对角化”。 也就是说,我们可以找到一个可逆矩阵 P,使得 P⁻¹AP 的结果是一个对角矩阵 D,这个对角矩阵的对角线上的元素,正好就是 A 的所有特征值。
因为相似变换(比如 P⁻¹AP)不改变矩阵的秩,所以原矩阵 A 的秩就等于对角化后矩阵 D 的秩。 而一个对角矩阵的秩,就是它对角线上非零元素的个数。这么一来,关系就非常清晰了:对于对称矩阵(或者更广泛地说,对于所有可以对角化的矩阵),矩阵的秩就精确地等于它非零特征值的个数。
举个例子,一个 3×3 的对称矩阵,通过计算发现它的特征值是 5, 2, 0。那么我们可以立刻断定,这个矩阵的秩是 2。因为它有两个非零的特征值。同时,因为有一个特征值为 0,也说明这个矩阵是奇异的,它的行列式值也为 0(因为行列式等于所有特征值的乘积)。
但生活并不总是那么美好,不是所有矩阵都能被对角化。对于那些不能被对角化的矩阵,情况稍微复杂一点。在这种情况下,矩阵的秩大于或等于其非零特征值的个数。 也就是说,非零特征值的数量只是秩的一个下限。
不过,在很多实际应用中,我们遇到的矩阵(比如相关系数矩阵、协方差矩阵)大多是对称的,所以“秩等于非零特征值个数”这个结论在实践中非常有用。
总结一下,我们可以这样理解矩阵的秩和特征值的关系:
- 零特征值是关键:一个矩阵的秩和它的零特征值直接相关。有一个零特征值,就意味着矩阵的列向量(或行向量)之间存在线性依赖,矩阵被“压缩”了维度,秩就不是满的。
- 特征空间与零空间:特征值为 0 的所有特征向量张成的空间(特征空间),其实就是矩阵的零空间。零空间的维度越大,说明被“压缩”掉的信息越多,矩阵的秩就越低。
- 非零特征值的角色:非零特征值对应的特征向量方向,构成了矩阵变换后的“像空间”(Image or Column Space)。像空间的维度,根据定义,就是矩阵的秩。 因此,有多少个线性无关的、对应非零特征值的特征向量,矩阵的秩就是多少。对于可对角化的矩阵,这个数量正好就等于非零特征值的个数。
所以,当你拿到一个方阵,想知道它的秩,除了用行变换化成阶梯形这种标准方法外,如果你能设法求出它的特征值,那么数一数其中有多少个不是 0,就能立刻得到关于秩的一个非常重要的信息,对于很多矩阵来说,这个信息就是最终答案。

技能提升网