行秩=列秩

本文的閱讀等級:初級

A 為一 m\times n 階矩陣。我們定義 A 的行秩 (column rank) 為線性獨立的行向量數,A 的列秩 (row rank) 為線性獨立的列向量數。下述性質成立:行秩等於列秩,簡稱作秩 (rank),符號記為 \mathrm{rank}A。換句話說,矩陣 A 的行空間維數等於列空間維數,即有 \mathrm{rank}A=\mathrm{rank}A^T。(註:在台灣,橫向稱為列,縱向稱為行。在中國大陸,橫向稱為行,縱向稱為列。)

 
許多基礎線性代數教科書在介紹了高斯消去法後,便將矩陣秩定義為化簡得到的梯形矩陣所包含軸 (pivot) 的總數 (見 “由簡約列梯形式判斷線性方程解的結構”)。矩陣的每一行和每一列至多僅有一個軸,顯然軸行 (包含軸的行) 的數目等於軸列 (包含軸的列) 的數目,行秩等於列秩是不言而喻的,因此也就沒有必要大費周章地去證明這件事。但如果從行秩是行空間維數而列秩是列空間維數出發,要如何證明行秩等於列秩呢?下面我介紹一個簡單的證明,推論過程只需要善用矩陣乘法的運算規則。

 
假設 m\times n 階矩陣 A 的行秩為 c,列秩為 r。我們知道 A 包含 cm 維線性獨立的行向量,它們足以擴張 A 的行空間。將這些行向量收集起來組成一個 m\times c 階矩陣 B=[b_{ij}],如此 A 的每一個行向量 \mathbf{a}_j,\,j=1,\ldots,n,都可唯一表示成 B 的行向量 \mathbf{b}_1,\mathbf{b}_2,\ldots,\mathbf{b}_c 之線性組合,如下:

\begin{aligned}  \mathbf{a}_j&=d_{1j}\mathbf{b}_1+d_{2j}\mathbf{b}_2+\cdots+d_{cj}\mathbf{b}_c\\  &=\begin{bmatrix}    \mathbf{b}_1&\mathbf{b}_2&\cdots&\mathbf{b}_c    \end{bmatrix}\begin{bmatrix}    d_{1j}\\    d_{2j}\\    \vdots\\    d_{cj}    \end{bmatrix}=B\mathbf{d}_j.\end{aligned}

再將 \mathbf{a}_j=B\mathbf{d}_jj=1,\ldots,n,的線性組合權重合併為一個 c\times n 階矩陣 D=[d_{ij}],並利用以行為計算單元的矩陣乘法規則 (見“矩陣乘法的現代觀點”),就有

\begin{aligned}  A&=\begin{bmatrix}    \mathbf{a}_1&\mathbf{a}_2&\cdots&\mathbf{a}_n    \end{bmatrix}=\begin{bmatrix}  B\mathbf{d}_1&B\mathbf{d}_2&\cdots&B\mathbf{d}_n  \end{bmatrix}\\  &=B\begin{bmatrix}    \mathbf{d}_1&\mathbf{d}_2&\cdots&\mathbf{d}_n    \end{bmatrix}=BD.\end{aligned}

 
接著考慮矩陣 A 的第 i 列,以 \mathrm{row}_i(A) 表示,利用以列為計算單元的矩陣乘法規則,可得

\begin{aligned}  \text{row}_{i}(A)&=\text{row}_{i}(BD)=\text{row}_i(B)\cdot D\\  &=\begin{bmatrix}  b_{i1}&b_{i2}&\cdots&b_{ic}\end{bmatrix}\begin{bmatrix}  \text{row}_1(D)\\  \text{row}_2(D)\\  \vdots\\  \text{row}_c(D)  \end{bmatrix}\\  &=b_{i1}~\mathrm{row}_1(D)+b_{i2}~\mathrm{row}_2(D)+\cdots+b_{ic}~\mathrm{row}_{c}(D). \end{aligned}

矩陣 A 的每一列都可表示為 D 的列向量之線性組合,因此 A 的列空間維數不大於 D 的列向量數,即 r\le c,也就是說 A 的列空間維數不大於 A 的行空間維數。

 
運用同樣的推論方式於 A^T,可推知 A^T 的列空間維數不大於 A^T 的行空間維數,但 A^T 的列空間即為 A 的行空間而 A^T 的行空間就是 A 的列空間,得知 c\le r。綜合以上結果,證得 r=c,矩陣的行秩等於列秩。這個證明方法表面看似平凡無奇,但它只利用矩陣乘法運算便將幾個重要的線性代數概念──線性組合、基底和擴張連結在一起,非常值得初學者細細品味。

相關閱讀:
廣告
本篇發表於 線性代數專欄, 向量空間 並標籤為 , , , , , 。將永久鏈結加入書籤。

8 Responses to 行秩=列秩

  1. ccjou 說道:

    方才查閱此文時看見一個錯誤,已訂正。

    各位讀者若發現貼文打印或計算論證有誤,煩請留言相告。謝謝。

  2. selient chang 說道:

    請問
    A=BD之後
    (row_i , 其中_i代表下標)

    有點不懂row_i(A)= b_i1*row_1(D)+b_i2*row_2(D)+…+b_ic*row_c(D)
    可以舉個例子嗎><
    因為行的線性組合我看的懂,但列這邊的符號讓我困惑

    自己試著用矩陣舉例但還是有點難想像

    真是不好意思打擾!!!

  3. ccjou 說道:

    不需如此客氣,當初我是應該要舉個例子說明。見下例
    A=\begin{bmatrix} 1&2&1&2\\ 1&2&2&3\\ 1&2&3&4 \end{bmatrix}
    A 只有兩個線性獨立的行向量,選擇第一行和第三行(還可以有別的選擇,如第一四行)組成
    B=\begin{bmatrix} 1&1\\ 1&2\\ 1&3 \end{bmatrix}
    接著利用 B 的行向量組合出 A,因為 B 的行向量是線性獨立的,所以能得到唯一的 D 使得 A=BD,如下:
    D=\begin{bmatrix} 1&2&0&1\\ 0&0&1&1 \end{bmatrix}
    如果我想計算 A 的第三行,就拿 BD 的第三行:
    \begin{bmatrix} \ast&\ast&1&\ast\\ \ast&\ast&2&\ast\\ \ast&\ast&3&\ast \end{bmatrix}=\begin{bmatrix} 1&1\\ 1&2\\ 1&3 \end{bmatrix}\begin{bmatrix} \ast&\ast&0&\ast\\ \ast&\ast&1&\ast \end{bmatrix}
    \Rightarrow\begin{bmatrix} 1\\2\\3 \end{bmatrix}=0\begin{bmatrix} 1\\1\\1 \end{bmatrix}+1\begin{bmatrix} 1\\2\\3 \end{bmatrix}
    又如果我想計算 A 的第二列,這時要拿 B 的第二列乘 D
    \begin{bmatrix} \ast&\ast&\ast&\ast\\ 1&2&2&3\\ \ast&\ast&\ast&\ast \end{bmatrix}=\begin{bmatrix} \ast&\ast\\ 1&2\\ \ast&\ast \end{bmatrix}\begin{bmatrix} 1&2&0&1\\ 0&0&1&1 \end{bmatrix}
    \Rightarrow\begin{bmatrix} 1&2&2&3 \end{bmatrix}=1\begin{bmatrix} 1&2&0&1 \end{bmatrix}+2\begin{bmatrix} 0&0&1&1 \end{bmatrix}
    順帶一提,A=BD 還可以分解為行列乘積之和:
    A=\begin{bmatrix} 1\\1\\1 \end{bmatrix}\begin{bmatrix} 1&2&0&1 \end{bmatrix}+\begin{bmatrix} 1\\2\\3 \end{bmatrix}\begin{bmatrix} 0&0&1&1 \end{bmatrix}
    =\begin{bmatrix} 1&2&0&1\\ 1&2&0&1\\ 1&2&0&1 \end{bmatrix}+\begin{bmatrix} 0&0&1&1\\ 0&0&2&2\\ 0&0&3&3 \end{bmatrix}
    每個行列乘積為 rank-one 矩陣,由此也可以觀察出行秩和列秩都等於2。

  4. powei 說道:

    我想延續salient chang的問題,我看了教授的回應,但為什麼不是拿row(B)*D?而是像文中的b乘上row(D)?

  5. Theo 說道:

    老师您好. 感谢您的讲解。作为学生的时候这个 行秩 = 列秩确实困扰了我很久,看了老师的文章才恍然大悟。 其实行秩 = 列秩是很明显的, 矩阵的行和列都是描述同一个值域空间。 只是基底不同。 所以 行秩 = 列秩。

  6. Theo 說道:

    老師您好,不好意思,之前留言用了簡體。 我是一名大陸的學生,現在工作了。 回頭看看您的講解讓我學生時期的很多異或都解開了。 不知道這裡我理解是否正確: 行秩 = 列秩 其實就是 矩陣的行和列 描述的都是同一個向量空間: 值域所在的空間。 只是基底不同。

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s