C=AB可以看成A依次右乘以B的各列,即對於B的一列,拿它的元素作為係數對A的各列做線性組合,作為C中的一列。顯然,C中的各列都是A中各列的線性組合,C的列空間是A的列空間的子空間,即Rank(col) of C <= Rank(col) of A. 推廣一下,A不管右乘多少個矩陣,得到的矩陣的列空間一定是A的列空間的子空間。C=AB也可以看成B依次左乘以A的各行,即對於A的一行,拿它的元素作為係數對B的各行做線性組合,作為C中的一行。顯然,C中的各行都是B中各行的線性組合,C的行空間是B的行空間的子空間。
矩陣A(m行n列)的行秩是行向量所能展開的空間的維度,即m個行向量中最大不線性相關的向量的個數,設為Rank(row);同樣A的列秩是n個列向量空間的維度,記為Rank(col).
有:對於任何A,其Rank(col)=Rank(row)=Rank(A),即矩陣的秩等於行秩也等於列秩。
於是一個矩陣的秩等於它的轉置的秩。
現在從一個角度理解下為什麼 Rank(col)=Rank(row)=Rank(A):
從矩陣乘法的兩種理解說起(矩陣乘法的計算一共有四種方法,這裡用到其中兩種):
C=AB可以看成A依次右乘以B的各列,即對於B的一列,拿它的元素作為係數對A的各列做線性組合,作為C中的一列。顯然,C中的各列都是A中各列的線性組合,C的列空間是A的列空間的子空間,即Rank(col) of C <= Rank(col) of A. 推廣一下,A不管右乘多少個矩陣,得到的矩陣的列空間一定是A的列空間的子空間。C=AB也可以看成B依次左乘以A的各行,即對於A的一行,拿它的元素作為係數對B的各行做線性組合,作為C中的一行。顯然,C中的各行都是B中各行的線性組合,C的行空間是B的行空間的子空間。現在假設A(m行n列)的列空間的維度是r(r<=n),則可以認為A=RB,(其中R為m行r列並且列空間的維度為r,B為r行n列)。由於A=RB,所以A的行空間的維度<=B的行空間的維度<=r,即A的行空間的維度<=列空間的維度。類似可以推出A的列空間的維度<=行空間的維度。這兩條要同時滿足,只能是行空間維度==列空間維度了。
另外,矩陣乘法AB的其它兩種定義,一個就是正常的求和公式;還有一個就是外積(A的各列乘以B的各行得到許多矩陣,然後相加)。
其實行秩和列秩為什麼神奇的相等,需要更深入地學習. 比如 [Advanced Calculus Revised Edition, Loomis, Lynn H., 1968](Advanced Calculus Revised, Lynn Harold Loomis, Shlomo Sternberg), p84 提到:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
PS: 今天看《線性代數的幾何意義》第5.7.1節,覺得裡面說的比我上面說的更直觀,我下面加工一下,複述如下:
首先有,對於矩陣 ,行秩和列秩都 : 以行秩為例,一共有才m行,所以行秩不可能大於m;而每個行向量才n個"座標",秩又不可能大於n;所以,行秩。同理可以論證列秩 。雖然這一步還沒有說明行秩必須等於列秩,但是可以讓我們把矩陣變先變成一個方陣後再討論:假設 ,先把透過消滅多餘(即線性相關)的列向量變成方陣 以後再討論秩的問題。
這時候就是這本書裡面講的結論:“方陣裡面,有幾個行向量是多餘的,就有幾個列向量是多餘的”。思路大致是,假設行向量裡面有一個是多餘的(即是其它行向量的線性組合),則可以把這個行向量去掉(或者變成0,一樣的效果),這樣就又不是一個方陣了。於是在透過上面的方法去掉一列,使它變成方陣。如此反覆,直到它變成一個方陣且行向量和列向量都獨立為止。顯然,行秩必然等於列秩。