线性代数中,
有那么几个神秘又神奇的东西,
总是让初学它的人琢磨不透,
无法
理解,其中就有矩阵的行向量和列向量的关系,为
什么一个矩阵的行向量里有
多少个线性无关的向量,
列向量里就一定也有多少个线性无关的向量呢?或者考
虑稍微简单一点的问题,一个方阵,为什么行向量线性无
关或线性相关列向量
就一定也线性无关或相关呢?行秩为何等于列秩?
这本来应该是一个基本又简单的事实。
但是,
请回忆一下你当初初学线性代数时
的内容编排顺序,是怎么引入这个问题的,当时又是怎样解决这个问题的?
传统的教材编写思路是从线性方程组开始整个线性代数话题的引入,
这个过程中
定义行列式和矩阵,
用
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
。
有了行秩等于列秩的性质,
完全可以用行秩或列秩定义矩阵的秩了。
编写教材的
人和老师们都认为,
只要能够顺利定义出矩阵的秩,
这个证明就足以满足初学时
的需要了,既没有必要又没有条件再将它深入地挖掘下去。