咱们直接聊聊伴随矩阵的秩,以及它和原来那个矩阵的秩到底是什么关系。这事儿在学线性代数的时候,很多人都觉得有点绕,但其实把它拆开来看,逻辑非常清楚。
首先,得把最根本的那个公式摆出来,后面所有的讨论都离不开它。对于一个 n 阶方阵 A,它和它的伴随矩阵 A* 之间,有这么一个关系:
A * A = A * A = |A| * E
这里,|A| 是 A 的行列式,是个数值。E 是 n 阶单位矩阵。这个公式是证明一切的基石,一定要记牢。
好了,有了这个工具,我们就可以分情况来讨论了。矩阵的秩就那么几种可能,我们一个一个来看。假设我们的矩阵 A 是 n x n 的。
第一种情况:当 A 的秩 rank(A) = n
这种情况最简单。一个 n 阶方阵的秩是 n,这说明什么?说明这个矩阵是满秩的。满秩矩阵就意味着它是可逆的,而且它的行列式 |A| 不等于 0。
既然 |A| ≠ 0,我们就可以把上面那个核心公式 A * A* = |A| * E 两边都除以 |A|。
这么一除,就得到:
A * (A* / |A|) = E
这个形式你肯定眼熟。根据可逆矩阵的定义,如果 A 乘以一个矩阵等于单位矩阵 E,那那个矩阵就是 A 的逆矩阵 A⁻¹。
所以,我们能直接得出结论:
A⁻¹ = A* / |A|
稍微变一下形,就是:
A* = |A| * A⁻¹
现在我们来分析 A 的秩。在这个等式里,|A| 是一个不为零的常数。一个矩阵乘以一个不为零的常-数,它的秩是不会变的。比如你把一个矩阵所有元素都乘以 2,它的线性无关的行(或列)的数量还是那么多。
所以,A 的秩就等于 A⁻¹ 的秩。
那 A⁻¹ 的秩是多少呢?A 是可逆的,它的逆矩阵 A⁻¹ 当然也是可逆的。一个可逆的 n 阶矩阵,秩必须是 n。如果你不信,可以反过来想,如果 A⁻¹ 的秩小于 n,它就不是满秩,那它就不可能有逆矩阵,但我们知道它的逆矩阵就是 A,这就矛盾了。
所以,当 rank(A) = n 时,rank(A⁻¹) = n,因此 rank(A*) = n。
结论一:如果 A 是满秩矩阵,那么它的伴随矩阵 A* 也是满秩的。秩都是 n。
这个很简单,满秩对满秩。
第二种情况:当 A 的秩 rank(A) = n – 1
这是最关键,也是最常考的一种情况。
当 rank(A) = n – 1 时,说明 A 不是满秩了。根据行列式的性质,不满秩的方阵,它的行列式 |A| 必然等于 0。
我们再把那个核心公式拿出来: A * A* = |A| * E
因为 |A| = 0,这个公式就变成了:
A * A* = 0 * E = O (这里 O 是零矩阵)
这个式子 A * A = O 告诉我们一个很重要的信息。它说明,A 的每一个列向量,都是方程组 Ax = 0 的解。
我们把 A 按列拆开,写成 [α₁, α₂, …, αₙ],这里的 αᵢ 都是 A 的列向量。那么 A * A = O 就意味着 A * αᵢ = 0 对所有的 i 都成立。
这说明,A 的所有列向量都位于 A 的零空间(也就是 Ax = 0 的解空间)里。
现在问题变成了,A 的零空间的维度是多少?
这里就要用到另一个线性代数的基础工具:秩-零度定理。
对于 n 阶方阵 A,它的秩和它的零空间维度(也叫零度)加起来等于 n。
也就是:rank(A) + nullity(A) = n。
我们现在这个情况是 rank(A) = n – 1。
代入公式: (n – 1) + nullity(A) = n
解出来,nullity(A) = 1。
这说明 A 的零空间是一个一维空间。
一个一维空间是什么概念?就是这个空间里所有的向量,都可以由一个非零的基础向量通过数乘得到。说白了,这个空间里所有的向量都共线。
我们刚才说了,A 的所有列向量都在这个一维的零空间里。
这就意味着,A 的所有列向量要么是零向量,要么都互相平行(共线)。
那么,A 会不会是零矩阵呢?如果是零矩阵,那它的秩就是 0。
我们回头看看伴随矩阵 A 是怎么定义的。A 的每一个元素 Aᵢⱼ,是 A 的代数余子式。代数余子式本质上是 A 的一个 n-1 阶子矩阵的行列式(再乘以一个正负号)。
因为我们已经知道 rank(A) = n – 1,这恰恰说明,A 至少存在一个 n-1 阶的子式不为零。
只要有一个 n-1 阶子式不为零,就意味着至少有一个代数余子式不为零。
所以,A 矩阵里至少有一个元素不为零。
因此,A 绝对不是零矩阵。它的秩 rank(A) ≥ 1。
好了,我们把两边的信息汇总一下:
1. A 不是零矩阵。
2. A 的所有列向量都共线。
一个矩阵,它不是零矩阵,而且所有列向量都共线,它的秩是多少?
答案必然是 1。
因为只要有一个列向量不是零向量,其他的列向量都可以由它表示出来,所以线性无关的列向量只有一个。
结论二:如果 A 的秩是 n – 1,那么它的伴随矩阵 A* 的秩一定是 1。
第三种情况:当 A 的秩 rank(A) < n – 1
这种情况比第二种还要简单。
当 rank(A) < n – 1 时,意味着 A 中所有 n-1 阶子式的行列式都等于 0。
这是矩阵秩的一个重要性质:如果一个矩阵的秩是 r,那么它所有的 r+1 阶以及更高阶的子式行列式都为 0。
在我们这个情况里,r < n – 1,所以 r+1 ≤ n-1。这意味着,所有 n-1 阶子式的行列式都为 0。
再回想一下伴随矩阵 A* 的构成。它的每一个元素,都是 A 的一个代数余子式。而代数余子式,就是 n-1 阶子式的行列式再乘个正负号。
既然所有 n-1 阶子式都是 0,那 A 的所有代数余子式也都是 0。
一个矩阵的所有元素都是 0,那它就是零矩阵。
所以,在这种情况下,A* = O (零矩阵)。
零矩阵的秩,毫无疑问,是 0。
结论三:如果 A 的秩小于 n – 1,那么它的伴随矩阵 A* 就是零矩阵,秩为 0。
到这里,所有情况都讨论完了。我们来汇总一下这三个结论,这就是伴随矩阵和原矩阵秩的完整关系(假设 n ≥ 2):
- 如果 rank(A) = n,那么 rank(A*) = n。
- 如果 rank(A) = n – 1,那么 rank(A*) = 1。
- 如果 rank(A) < n – 1,那么 rank(A*) = 0。
你看,整个推导过程没有用什么高深的东西,就是把定义和几个核心的定理(AA=|A|E、秩-零度定理、秩和子式的关系)串联起来。只要逻辑链条是清晰的,一步一步往下走,结果自然就出来了。以后再碰到这类问题,就按这三个情况去套,准没错。