从不同的角度看矩阵的行秩与列秩.docx
- 文档编号:2910698
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:14
- 大小:49.31KB
从不同的角度看矩阵的行秩与列秩.docx
《从不同的角度看矩阵的行秩与列秩.docx》由会员分享,可在线阅读,更多相关《从不同的角度看矩阵的行秩与列秩.docx(14页珍藏版)》请在冰豆网上搜索。
从不同的角度看矩阵的行秩与列秩
tianpeng.72pines./
从不同的角度看矩阵的行秩与列秩——兼论如何学好线性代数
线性代数中,有那么几个神秘又神奇的东西,总是让初学它的人琢磨不透,无法理解,其中就有矩阵的行向量和列向量的关系,为什么一个矩阵的行向量里有多少个线性无关的向量,列向量里就一定也有多少个线性无关的向量呢?
或者考虑稍微简单一点的问题,一个方阵,为什么行向量线性无关或线性相关列向量就一定也线性无关或相关呢?
行秩为何等于列秩?
这本来应该是一个基本又简单的事实。
但是,请回忆一下你当初初学线性代数时的容编排顺序,是怎么引入这个问题的,当时又是怎样解决这个问题的?
传统的教材编写思路是从线性方程组开始整个线性代数话题的引入,这个过程中定义行列式和矩阵,用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。
有了行秩等于列秩的性质,完全可以用行秩或列秩定义矩阵的秩了。
编写教材的人和老师们都认为,只要能够顺利定义出矩阵的秩,这个证明就足以满足初学时的需要了,既没有必要又没有条件再将它深入地挖掘下去。
但是它仍然让我困惑,即使把书上的这个证明看得明明白白,也不理解为什么行秩等于列秩。
因为向量是个几何的概念,现在这个证明中看不出一点几何上向量的影子,这两个例子都依赖于线性方程组理论,都离不开高斯消元法,都是代数上的推导。
虽然从代数上推导出了这个结果,但是在几何上我依然无法接受这个结果。
矩阵的行向量和列向量“从图形上”到底是什么关系?
可不可以让我一下子就能看出来它们的秩是相等的?
尽管经过了行列变换之后行列秩相等是显然的,但这个过程中却把原来的行列向量给变得面目全非了。
更有甚者,有些教材上竟然用矩阵的子式和行列式理论推导行秩等于列秩,由于这种证明过于复杂,这里就不列出了。
直到最近的一次偶然机会,又让我想起了这个问题。
一开始,发现它和对偶空间与对偶映射有关系。
记得当初学习线性代数时,直到最后才接触了一些有关对偶空间和对偶映射的知识,教材还写得十分抽象,以至于我们都囫囵吞枣地过来了,根本没有什么印象。
后来的泛函,因为高等代数理解不深人,对泛函也没有留下什么印象。
最近有同事让我讲线性代数,有很多次问我关于矩阵转置的意义的问题。
他曾经学习线性代数时对很多问题不理解,其中就有矩阵转置到底对应几何上的什么东西,为什么要转置?
其实我也没考虑过这个问题,只知道这是代数的特殊需要,当需要把行向量变成列向量的时候就需要考虑转置,它完全是代数上的处理方式。
至于在几何上代表什么意义,我也曾困惑过,但一直没考虑清楚。
然而现在比大一那个时候多了一个学习的更加有效的途径,那就是网络。
在wiki百科中,我查到了一个观点:
在标准正交基底下,如果一个线性映射对应于矩阵A,那么A的转置恰好对应这个线性映射的转置映射,A的共轭转置恰好对应这个线性映射的对偶映射。
在有限维空间中对偶映射还有一个更直观的定义:
设是从到的线性映射,则的对偶映射是从到的满足的线性映射。
这是很好理解的,即使不知道什么是对偶空间及对偶映射,单单从矩阵乘法的性质中也很容易看出A和A的共轭转置之间的这种关系。
这样就把A的共轭转置和A之间的关系赋予了几何的意义,因为积正好包含向量的角度信息,并且当一组非零向量两两积为0时,它们线性无关。
A和A的共轭转置的列向量的秩分别对应于T和T*的值域的维度,能不能就此证明它们相等?
从而至少可以证明实数矩阵行秩等于列秩。
这就是下面的:
定理1:
线性映射的值域和其对偶映射的值域有相同的维数。
证明:
设T是从U到V的线性映射,则T的对偶映射T*是从V到U的线性映射。
设T与T*的值域的维数分别为r,s,假设s ,考虑,这个向量组的秩≤s 。 又因为故即。 这样我们在的值域中找到了与向量都垂直的非零向量,与这个向量组是值域的基底矛盾。 因此s≥r。 同理可证s≤r。 故s=r。 证毕。 这样,A与A的共轭转置的列秩相等,从而实数矩阵的行秩等于列秩。 为了把它应用于证明复数矩阵行秩与列秩相等,还需要下面的命题: 命题1: 若复数值向量a1,a2,…,an线性无关,那么他们的共轭向量也线性无关。 证明: 以a1,a2,…,an为系数矩阵的方程组k1a1+k2a2+…+knan=0两边取共轭即得到一个以a1,a2,…,an的共轭为系数的线性方程组,这两个方程组同时有或没有非零解。 证毕。 这样就彻底完全地证明出了矩阵的行秩与列秩相等。 这个证明的思路中就明显地带有几何的启示,因此我觉得它更能让我看到矩阵行向量和列向量的本质。 然而虽然这个证明带有很强的几何色彩,但终究还是觉得有些抽象,还是没有道出行列向量之间的关系来。 经过对这个问题持续的思考,和对方程组AX=0从不同的角度去解释,发现如果我们竖着看AX,我们看到一个线性映射,它列向量的秩是它值域的维数;然而如果我们横着看AX=0,又可得到A的每个行向量与X的积是0(这里以实数矩阵为例,至于复数矩阵则可以利用上面的“命题1”),也就是说,A的每个行向量和AX=0的解都垂直,用映射的观点说,就是A的每个行向量都在线性映射的零空间的正交补空间中。 又AX=0的所有解的集合(零空间)是垂直于A的每个行向量的向量构成的集合,那么零空间和行空间应该互为正交补空间,它们的维数之和是定义域的维数。 那么事情就清楚了,根据秩-零度定理,dimrangeT+dimnullT是T定义域的维数,而行空间维数又与零空间维数互补,因此行空间维数等于值域维数,即行秩等于列秩。 应该说,这才是行向量和列向量真正的本质关系,可惜的是,直到毕业的三年多之后我才自己发现了这个关系。 其实,如果考虑对偶映射,也可以轻而易举地得出结论: T*的值域恰是T的零空间的正交补。 根据秩-零度定理也立即可以得出T*和T值域维数相等。 前面在证明“定理1”时没有用到它们值域和零空间的关系还有秩-零度定理,这里用了这两个定理之后,分析过程其实和上段分析AX=0方程组的过程本质上是一样的。 那时在网络上还查找到了一个利用了矩阵乘积的现代观点证明行秩等于列秩的文章,是在博客“线代启示录”中看到的,抄录如下(注意在,把竖着的叫行,把横着的叫列,与我们恰好相反): 假設階矩陣的行秩為,列秩為。 可知包含個—維線性獨立的行向量,它們足以擴張的行空間。 將這些行向量收集起來組成一個階矩陣,那麼的任何一個行都可以唯一表示為的行向量之線性組合,如下: 將這個式子的線性組合權重合併為一個階矩陣,並利用以行為計算單元的矩陣乘法規則,就有 接著再考慮矩陣的第列,以表示,利用以列為計算單元的矩陣乘法規則,於是有 矩陣的每一列都可以寫為D的列向量之線性組合,因此的列空間維度不大於D的列向量總數,即,也就是說的列空間維度不大於的行空間維度。 運用同樣的推論方式於,可推知的列空間維度不大於的行空間維度,但的列空間即為A的行空間而的行空間就是的列空間,得知。 綜合以上結果,證得,矩陣的行秩等於列秩。 這個證明方法表面看似平凡無奇,但它只利用矩陣乘法運算便將幾個重要的線性代數概念——線性組合、基底和擴張連結在一起,非常值得初學者細細品味。 这个证明虽然也是代数上的分析,但其巧妙的让人称奇的地方,就是把一个矩阵分解成了两个矩阵的乘积,其中左边的因子是列慢秩的,然后利用对两个矩阵乘积的不同的解释,把左面的列秩(也就是A的列秩)和右面的行秩联系起来了。 本来,有关矩阵列秩与行秩关系的问题讨论到这里也可以算是比较圆满了。 但是,在写这篇文章的时候,又无意间提出下面的一个问题: 为什么如果矩阵A只有两行,哪怕它有100列,它的列向量的秩也最多是2? 现在来看,这是个非常简单的问题,因为它的100个列向量都是二维的向量,这些二维向量再多,也至多可以找出两个线性无关的向量。 这是由向量空间的维数定理保证的: “有限维向量空间中任何极大线性无关组包含向量个数相同。 ”因此,一个矩阵,它的列秩不超过行数,行秩不超过列数。 那么,为了完成“列秩等于行秩”的证明,只需把列秩和行秩的大小围估计得更精确一些,从“列秩小于等于行数”、“行秩小于等于列数”精确到“列秩小于等于行秩”、“行秩小于等于列秩”。 我们设想,如果一个m*n阶矩阵,它的行秩为r,那么它的列向量虽然表面上看每个都是m维的,但实际上这些m维向量被限制在了一个r维的子空间中,实际属于r维向量。 为了看清楚这一点,我们可以有两条思路: 第一条,既然A的行空间维数为r,那么可以找到r个线性无关的行向量为基底,矩阵的m个行向量都可以用这r个向量线性表示,用矩阵的语言就是 其中D就是从A的行向量中选取的线性无关行向量,B的每一行是A的行向量按D中行向量线性表示的系数(坐标)。 那么,接下来还是两条路: 第一,按维数定理,D的列秩不超过其行数r,且A的值域维数不大于D的值域维数(因为A的维数就是把D的值域再用B映射到m维空间,值域的维数是递减的),因此A的列秩不大于r,这实质上是北大《线性代数》中的证明;第二,B的列秩不超过B的列数r,这样就变成了“线代启示录”的证明,因此“线代启示录”上的证明思路也就是如此。 第二条,我们可以实际地找出列空间的基底。 因为行秩为,即可以选取个行向量,使得其它行向量都可以用这个行向量线性表示,不妨记为,那么就代表的列向量的坐标都具有如下形式: 显然只
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 从不 角度 矩阵