咱们来聊聊矩阵的“秩”和“特征值”这两个东西,以及它们之间到底有什么关系。
直接说结论:一个矩阵的秩,等于它所有非零特征值的数量。
是不是听起来有点绕?没关系,我们一点点拆开来看。
首先,得明白什么是“秩”。你可以把一个矩阵想象成一个对空间做变换的操作。比如,你有一个二维平面上的点 (x, y),用一个 2×2 的矩阵去乘以它,这个点就会跑到另一个位置去。这个变换可能会拉伸、压缩、旋转,或者把整个空间“拍扁”。
矩阵的秩(Rank),说的就是这个变换之后,空间的维度还剩下多少。举个例子,如果一个 2×2 的矩阵把整个二维平面拍成了一条直线,那原来是二维的,现在变成一维了,我们就说这个矩阵的秩是 1。如果这个矩阵只是做了些拉伸或旋转,整个平面还好好地是个平面,那它的秩就是 2。如果一个矩阵把整个平面上所有的点都变成了原点 (0,0),那它就把二维空间压缩成了一个零维的点,秩就是 0。所以,秩衡量的是矩阵变换后保留下来的“有效维度”。
从线性代数的角度讲,一个矩阵的秩是它列向量(或者行向量)所张成的空间维度,也就是线性无关的列向量(或行向量)的最大数量。
现在我们再看“特征值”(Eigenvalue)和“特征向量”(Eigenvector)。
还是拿空间变换来说事。当一个矩阵对空间进行变换时,大部分向量的方向都会改变。但是,总有那么一些特殊的向量,经过这个矩阵变换后,方向保持不变,只是在原来的方向上被拉长或者缩短了一点。这些方向不变的特殊向量,就是“特征向量”。而它们被拉伸或缩短的倍数,就是对应的“特征值”。
举个例子,想象一下在二维平面上,有一个变换是把所有点的 x 坐标都变成原来的 2 倍,y 坐标不变。那么,任何在 x 轴上的向量(比如)经过变换后,会变成。它的方向没变,长度变成了原来的 2 倍。所以, 就是一个特征向量,它对应的特征值就是 2。同理,任何在 y 轴上的向量(比如)变换后还是,长度是原来的 1 倍,所以 也是一个特征向量,对应的特征值是 1。
如果某个特征值是 0,这意味着什么?
这意味着,与这个零特征值对应的那个特征向量,经过矩阵变换后,直接被压缩成了零向量。也就是 Ax = 0x = 0。这个方程 Ax = 0 有非零解(那个特征向量 x 就是非零解),这说明矩阵 A 会把某个非零的向量直接“干掉”,变成原点。
这些被“干掉”的向量,它们所在的整个空间,就叫做矩阵的“零空间”或“核”(Kernel)。零空间的维度,我们称之为“零度”(Nullity)。所以,一个矩阵有多少个等于 0 的特征值(这里要考虑代数重数),它的零空间维度就是多少。
现在,把秩和零特征值联系起来的关键先生出场了,它就是“秩-零度定理”(Rank-Nullity Theorem)。
这个定理说的是:对于一个 n x n 的方阵,它的秩加上它的零度,正好等于 n。
秩 (Rank) + 零度 (Nullity) = n
我们前面说了,零度就是一个矩阵零空间的维度,它等于这个矩阵的零特征值的个数。 这里的“个数”指的是几何重数,但在很多情况下,它和代数重数是一致的。简单来说,你有几个独立的特征向量对应着特征值 0,零度就是几。
所以,上面那个公式可以这么理解:
秩 + (零特征值的个数) = n
一个 n x n 的矩阵,总共会有 n 个特征值(如果算上重数的话)。这些特征值可以分成两拨:一拨是值为 0 的,另一拨是值不为 0 的。
n = (非零特征值的个数) + (零特征值的个数)
现在对比一下这两个公式:
- 秩 + (零特征值的个数) = n
- (非零特征值的个数) + (零特征值的个数) = n
两边都有“(零特征值的个数)”和“n”,把它们都划掉,剩下的是什么?
秩 = 非零特征值的个数
这就是它们俩最直接的关系。一个矩阵的秩,就是它不等于零的特征值的总数(同样,要考虑重数)。
我们来走一个具体的例子。
假设有这么一个矩阵 A:
A = [[1, 2],
[2, 4]]
这是一个 2×2 的矩阵,所以 n=2。
第一步,我们先求它的秩。
矩阵的秩是线性无关的行或列的数量。你看第二行 其实就是第一行 的两倍。这两行是线性相关的。所以这个矩阵里只有一个线性无关的行(或列)。因此,这个矩阵 A 的秩是 1。
第二步,我们来求它的特征值。
求特征值需要解特征方程 det(A – λI) = 0,其中 I 是单位矩阵,λ 是我们要找的特征值。
A – λI = [[1-λ, 2], [2, 4-λ]]
计算它的行列式:
det(A – λI) = (1-λ)(4-λ) – 2 2
= 4 – λ – 4λ + λ² – 4
= λ² – 5λ
= λ(λ – 5)
让这个行列式等于 0,也就是 λ(λ – 5) = 0。
解出来两个特征值:λ₁ = 0,λ₂ = 5。
第三步,验证关系。
我们来看看结果。
矩阵 A 的秩是 1。
矩阵 A 的特征值是 0 和 5。
其中,非零特征值有几个?只有一个,就是 5。
所以,非零特征值的数量是 1。
你看,秩 (1) = 非零特征值的数量 (1)。完全对上了。
我们还可以用秩-零度定理来验证。这个矩阵是 2×2 的,所以 n=2。它的秩是 1。根据定理,它的零度应该是 n – 秩 = 2 – 1 = 1。零度是 1,意味着它应该有一个零特征值。而我们算出来的特征值正好是 0 和 5,确实有一个是 0。这也对上了。
这个关系非常有用。在很多实际问题里,比如在机器学习的主成分分析(PCA)中,我们就是要找一个矩阵最大的那几个特征值。这些大的特征值对应的方向,保留了数据最多的信息。而那些接近于 0 的特征值,说明数据在那些方向上基本没什么变化,维度是冗余的,可以被“降维”处理掉。矩阵的秩在这里就告诉了我们,这个数据本身到底有几个“有效的”或者说“信息量不为零”的维度。
所以,下次你看到一个矩阵,想知道它在做变换的时候,会把空间压缩到什么程度,你就去看看它有多少个非零的特征值。有几个非零特征值,变换后的空间就是几维的,这也就是它的秩。这个关系把矩阵的代数性质(特征值)和它的几何意义(空间变换的维度)直接联系在了一起。

七点爱学
评论前必须登录!
立即登录 注册