1
http://tianpeng./
从不同的角度看矩阵的行秩与列秩——兼论如何学好线性代数
线性代数中,有那么几个神秘又神奇的东西,总是让初学它的人琢磨不透,无法理解,其中就有矩阵的行
向量和列向量的关系,为什么一个矩阵的行向量里有多少个线性无关的向量,列向量里就一定也有多少个
线性无关的向量呢?或者考虑稍微简单一点的问题,一个方阵,为什么行向量线性无关或线性相关列向量
就一定也线性无关或相关呢?行秩为何等于列秩?
这本来应该是一个基本又简单的事实。但是,请回忆一下你当初初学线性代数时的内容编排顺序,是怎么
引入这个问题的,当时又是怎样解决这个问题的?
传统的教材编写思路是从线性方程组开始整个线性代数话题的引入,这个过程中定义行列式和矩阵,用
n
元数组引入向量,线性相关和无关等概念,讨论解存在的条件,解的结构,等等。总之,一切以方程组为
核心,给人的感觉就是线性代数就是方程组的理论,一切讨论的目的都是为了解决小小的方程组问题。
在这个过程中,有一个矩阵行秩等于列秩的命题,此时学生只了解方程组理论和行列式,因此这时对这个
问题的解释当然也无法离开方程组或行列式。下面简述两个典型的教材中的证明方法:
第一个证明来自陈志杰《高等代数与解析几何》。
证明:
首先,矩阵的初等行变换不改变矩阵的行秩,初等列变换不改变矩阵的列秩。这是由向量组的初等
变换不改变向量组的线性相关或无关性保证的,即将某个向量乘以非零的倍数、将某个向量加到另一个向
量上,都不改变向量组的线性相关或无关性。
接着证明矩阵的初等行变换不改变矩阵的列秩。
设
A
是
m*n
阶矩阵,任意从
A
的
n
个列向量中选取
k
个列向量
a1,a2,…,ak
,它们线性无关的充要条件
是线性方程组
a1×1+a2×2+…+akxk=0
只有零解。而对矩阵
A
进行初等行变换不改变此方程组的解,
因此不改变这
k
个列向量的线性相关或无关性。这说明
A
的列向量的秩在矩阵的初等行变换中不变。同理
矩阵的初等列变换不改变矩阵的行秩。
接下来,可以把
A
经过初等行变换和初等列变为只有对角线上有
1
或
0
,其它位置都为
0
的矩阵,在这个
过程中行秩和列秩都不改变,从这个矩阵中看出行秩等于列秩,因此原来的矩阵行秩也等于列秩。
第二个证明来自北大数学系几何与代数教研室前代数小组编《高等代数》
证明:
考虑线性方程组
AX=0
,首先证明如果未知数的个数超过
A
的行秩,那么它有非零解。设
m*n
阶
矩阵
A
的行秩为
r
,
考虑方程组
AX=0
,
它由
m
个方程
n
个未知数组成。
从
A
的行向量中选取
r
个线性无
关的行向量,重新组合成矩阵
B
,那么方程组
AX=0
和
BX=0
同解。这时,如果
B
的列数大于行数,那么
方程组
BX=0
必有非零解,从而
AX=0
也有非零解。
接着证明行秩等于列秩。设
m*n
阶矩阵
A
的行秩为
r
,列秩为
s
。考虑
A
的任意
r+1
个列向量组成的矩
阵
C
,因为
C
的行秩不大于
r
(因为
C
的行向量都是
A
的行向量的一部分分量组成的),所以
CX=0
有非
零解,这说明这
r+1
个列向量线性相关。所以
A
的列秩最大为
r
,即
s<=r
。同理可证
r<=s
,因此
s=r
。
有了行秩等于列秩的性质,完全可以用行秩或列秩定义矩阵的秩了。编写教材的人和老师们都认为,只要
能够顺利定义出矩阵的秩,这个证明就足以满足初学时的需要了,既没有必要又没有条件再将它深入地挖
掘下去。
但是它仍然让我困惑,即使把书上的这个证明看得明明白白,也不理解为什么行秩等于列秩。因为向量是
个几何的概念,现在这个证明中看不出一点几何上向量的影子,这两个例子都依赖于线性方程组理论,都
离不开高斯消元法,都是代数上的推导。虽然从代数上推导出了这个结果,但是在几何上我依然无法接受