矩阵的秩

在線性代數中，一個矩陣 $A$ 的行秩是 $A$ 的線性獨立的縱行的極大數目。類似地，列秩是 $A$ 的線性獨立的橫列的極大數目。矩陣的行秩和列秩總是相等的，因此它們可以簡單地稱作矩陣 $A$ 的**秩**。通常表示為 $\mathrm {r} (A)$ ， $\mathrm {rank} (A)$ 或 $\mathrm {rk} (A)$ 。

## 可替代定義

### 用行列式定義

設 $A$ 為 $m\times n$ 矩陣。若 $A$ 至少有一個 $r$ 階非零子式，而其所有 $r+1$ 階子式全為零，即矩陣的最高階非零子式的階數為 r。則稱 $r$ 為 $A$ 的秩。

### 用向量組的秩定義

對於 $m$ 維線性空間 $V$ 中的一個向量組 $F=\{\alpha _{1},\alpha _{2},...,\alpha _{s}\}$ ，若 $F\supseteq S=\{\alpha _{1},\alpha _{2},...,\alpha _{r}\}$ 中的 $r$ 個向量線性獨立，且若 $r<s$ ， $\forall \alpha _{r+1}\in F-S$ ， $S\cup \{\alpha _{r+1}\}$ 中 $r+1$ 個向量都線性相依，則稱 $\{\alpha _{1},\alpha _{2},...,\alpha _{r}\}$ 為 $\{\alpha _{1},\alpha _{2},...,\alpha _{s}\}$ 的**極大線性獨立組**， $r$ 為 $\{\alpha _{1},\alpha _{2},...,\alpha _{s}\}$ 的**秩**。可以證明 $F$ 的秩等於向量組 $F$ 生成的子空間的維數。
矩陣 $A$ 的**行秩**定義為 $A$ 的行向量組的秩，也即矩陣的行空間的維數。類似地，矩陣的**列秩**定義為 $A$ 的列向量組的秩，即矩陣的列空間的維數。

### 用線性映射定義

考慮線性映射：

　
: $f_{A}:F^{n}\to F^{m}$

　
: $x\mapsto A\cdot x$

對於每個矩陣 $A$ ， $f_{A}$ 都是一個線性映射，同時，對每個 $F^{n}\to F^{m}$ 的
線性映射 $f$ ，都存在矩陣 $A$ 使得 $f=f_{A}$ 。也就是說，映射

　
: $\Phi :{\mathcal {M}}_{n}(\mathbb {K} )\to {\mathcal {L}}(F^{n},F^{m})$

　
: $A\mapsto f_{A}$

是一個同構映射。所以一個矩陣 $A$ 的秩還可定義為 $f_{A}$ 的像的維度（像與核的討論參見線性映射）。矩陣 $A$ 稱為 $f_{A}$ 的轉換矩陣。這個定義的好處是適用於任何線性映射而不需要指定矩陣，因為每個線性映射有且僅有一個矩陣與其對應。秩還可以定義為 $n-f$ 的核的維度；秩 - 零化度定理聲稱它等於 $f$ 的像的維度。

## 列秩行秩相等性

矩陣的列秩與行秩相等，是線性代數基本定理的重要組成部分。其基本證明思路是，矩陣可以看作線性映射的轉換矩陣，行秩為像空間的維度，列秩為非零原像空間的維度，因此行秩與列秩相等，即像空間的維度與非零原像空間的維度相等（這裡的非零原像空間是指約去了零空間後的商空間：原像空間）。這從矩陣的奇異值分解就可以看出來。

給出這一結果的兩種證明。第一個證明是簡短的，僅用到向量的線性組合的基本性質。第二個證明利用了正交性。第一個證明利用了行空間的基，第二個證明利用了列向量空間的基。第一個證明適用於定義在純量域上的矩陣，第二個證明適用於內積空間。二者都適用於實或復的歐氏空間，也都易於修改去證明當 A 是線性轉換的情形.

### 證明一

令 $A$ 是一個 $m\times n$ 的矩陣，其行秩為 $r$ . 因此矩陣 $A$ 的行空間的維度是 $r$ . 令 $c_{1},c_{2},\ldots ,c_{r}$ 是 $A$ 的行空間的一組基，構成 $m\times r$ 矩陣 $C$ 的行向量 $C=[c_{1},c_{2},\ldots ,c_{r}]$ ，並使得 $A$ 的每個行向量是 $C$ 的 $r$ 個行向量的線性組合。由矩陣乘法的定義，存在一個 $r\times n$ 矩陣 $R$ , 使得 $A=CR$ . ( $A$ 的 $(i,j)$ 元素是 $c_{i}$ 與 $R$ 的第 $j$ 個列向量的點積.)

現在，由於 $A=CR$ , $A$ 的每個列向量是 $R$ 的列向量的線性組合，這意味著 $A$ 的列向量空間被包含於 $R$ 的列向量空間之中。因此 $A$ 的列秩 ≤ $R$ 的列秩。但 $R$ 僅有 $r$ 列，所以 $R$ 的列秩 ≤ $r$ = $A$ 的行秩。這就證明了 $A$ 的列秩 ≤ $A$ 的行秩.

把上述證明過程中的「列」與「行」交換，利用對偶性質同樣可證 $A$ 的行秩 ≤ $A$ 的列秩。更簡單的方法是考慮 $A$ 的轉置矩陣 $A^{\mathrm {T} }$ ，則 $A$ 的行秩 = $A^{\mathrm {T} }$ 的列秩 ≤ $A^{\mathrm {T} }$ 的行秩 = $A$ 的列秩。這證明了 $A$ 的行秩等於 $A$ 的列秩。證畢.

### 證明二

令 $A$ 是 $m\times n$ 矩陣，其列秩是 $r$ . 因此 $A$ 的列向量空間的維度是 $r$ ，設 $x_{1},x_{2},\ldots ,x_{r}$ 是 $A$ 的列向量空間的一組基。如果把這組基當作原像行向量看待，則向量集 $Ax_{1},Ax_{2},\ldots ,Ax_{r}$ 是線性獨立的。 這是因為對一組純量係數 $c_{1},c_{2},\ldots ,c_{r}$ ，如果:

　
: $c_{1}Ax_{1}+c_{2}Ax_{2}+\cdots c_{r}Ax_{r}=A(c_{1}x_{1}+c_{2}x_{2}+\cdots +c_{r}x_{r})=Av=0,$

其中 $v=c_{1}x_{1}+c_{2}x_{2}+\ldots ,c_{r}x_{r}$ . 則可以推出有兩個事實: (a) $v$ 是 $A$ 列向量空間的線性組合，即 $v$ 屬於 $A$ 的列向量空間；(b) 由於 $Av$ = 0, $v$ 正交於 $A$ 的所有列向量，從而正交於 $A$ 的列向量空間的所有向量。事實 (a) 與 (b) 結合起來，則 $v$ 正交於自身，這意味著 $v$ = 0. 由 $v$ 的定義:

　
: $c_{1}x_{1}+c_{2}x_{2}+\ldots ,c_{r}x_{r}=0.$

再由 $x_{i}$ 是 $A$ 的列向量空間的一組線性獨立的基，可知 $c_{1}=c_{2}=\cdots =c_{r}=0$ . $Ax_{1},Ax_{2},\ldots ,Ax_{r}$ 因而是線性獨立的.

 $Ax_{i}$ 是 $A$ 的行空間中的向量。因此 $Ax_{1},Ax_{2},\ldots ,Ax_{r}$ 是 $A$ 的行空間中 $r$ 個線性獨立的向量。所以 $A$ 的行向量空間的維數 ( $A$ 的行秩) 必然不小於 $r$ . 這證明了 $A$ 的列秩 r ≤ $A$ 的行秩。把這一結果應用於 $A$ 的轉置矩陣可以得到: $A$ 的行秩 = $A^{\mathrm {T} }$ 的列秩 ≤ $A^{\mathrm {T} }$ 行秩 = $A$ 的列秩。這證明了 $A$ 的行秩等於 $A$ 的列秩，證畢.

最後，還可以證明 rk (_A_) = rk(_A_\*), 其中 _A_\* 是 _A_ 的共軛轉置或稱施密特轉置。當 _A_ 的元素都是實數，這一結果變為 rk (_A_) = rk(_A_T). 然而對於複系數矩陣，rk (_A_) = rk(_A_\*) 並不等價於列秩等於行秩，需要用到上述兩個證明.

### 證明三

令 _A_ 是一個 _m_×_n_ 矩陣。定義 rk (A) 為 _A_ 的行秩，_A_\* 為 _A_ 的共軛轉置或稱施密特轉置。首先可知 _A_\*_Ax_ = 0 若且唯若 _Ax_ = 0. 

　
: _A_\*_Ax_ = 0 ⇒ _x_\*_A_\*_Ax_ = 0 ⇒ _(Ax)_\*_(Ax)_ = 0 ⇒ ‖Ax‖2 = 0 ⇒ Ax = 0,

其中‖・‖是歐氏範數。這說明 _A_ 的零空間與 _A_\*_A_ 的零空間相同。由秩－零化度定理，可得 rk (_A_) = rk(_A_\*_A_). _A_\*_A_ 的每一個行向量是 _A_\* 的行向量的線性組合。所以 _A_\*_A_ 的行空間是 _A_\* 的行空間的子空間。從而 rk (_A_\*_A_) ≤ rk(_A_\*). 即: rk (_A_) = rk(_A_\*_A_) ≤ rk(_A_\*). 應用這一結果於 _A_\* 可獲得不等式：由於 (_A_\*)\* = _A_, 可寫作 rk (_A_\*) ≤ rk((_A_\*)\*) = rk(_A_). 這證明了 rk (_A_) = rk(_A_\*). 證畢.

## 性質

我們假定 _A_ 是在域 _F_ 上的 _m_ × _n_ 矩陣並描述了上述線性映射。

* _m_ × _n_ 矩陣的秩不大於 _m_ 且不大於 _n_ 的一個非負整數，表示為 rk (_A_) ≤ min(_m_, _n_)。有儘可能大的秩的矩陣被稱為有**滿秩**；類似的，否則矩陣是**秩不足**（或稱為「**欠秩**」）的。
* 只有零矩陣有秩 0
* _A_ 的秩最大為 min (_m_,_n_)
* _f_ 是單射，若且唯若 _A_ 有秩 _n_（在這種情況下，我們稱 _A_ 有「行滿秩」）。
* _f_ 是滿射，若且唯若 _A_ 有秩 _m_（在這種情況下，我們稱 _A_ 有「列滿秩」）。
* 在方塊矩陣 _A_ (就是 _m_ = _n_) 的情況下，則 _A_ 是可逆的，若且唯若 _A_ 有秩 _n_（也就是 _A_ 有滿秩）。
* 如果 _B_ 是任何 _n_ × _k_ 矩陣，則 _AB_ 的秩最大為 _A_ 的秩和 _B_ 的秩的小者。即：

　
: : $\operatorname {rank} (AB)\leq \min(\operatorname {rank} \ A,\operatorname {rank} \ B).$

　
: 推廣到若干個矩陣的情況，就是：

　
: $\operatorname {rank} (A_{1}A_{2}\cdots A_{n})\leq \min(\operatorname {rank} \ A_{1},\operatorname {rank} \ A_{2},\cdots ,\operatorname {rank} \ A_{n}).$

　
: 證明：

　
: 考慮矩陣的秩的線性映射的定義，令 A、B 對應的線性映射分別為 _f_ 和 _g_，則 AB 表示複合映射 _f·g_，它的象 _Im f·g_ 是 _g_ 的像 _Im g_ 在映射 _f_ 作用下的象。然而 _Im g_ 是整個空間的一部分，因此它在映射 _f_ 作用下的象也是整個空間在映射 _f_ 作用下的象的一部分。也就是說映射 _Im f·g_ 是 _Im f_ 的一部分。對矩陣就是：秩（AB）≤秩（A）。

　
: 對於另一個不等式：秩（AB）≤秩（B），考慮 _Im g_ 的一組基：（e1，e2，...，en），容易證明（f (e1)，f(e2)，...，f(en)）生成了空間 _Im f·g_，於是 _Im f·g_ 的維度小於等於 _Im g_ 的維度。對矩陣就是：秩（AB）≤秩（B）。

　
: 因此有：秩（AB）≤min (秩（A），秩（B））。若干個矩陣的情況證明類似。

　
: 作為 "<" 情況的一個例子，考慮積

　
: ${\begin{bmatrix}0&0\\1&0\\\end{bmatrix}}{\begin{bmatrix}0&0\\0&1\\\end{bmatrix}}$

　
: 兩個因子都有秩 1，而這個積有秩 0。

　
: 可以看出，等號成立若且唯若其中一個矩陣（比如說 _A_）對應的線性映射不減少空間的維度，即是單射，這時 _A_ 是滿秩的。於是有以下性質：

  * 如果 _B_ 是秩 _n_ 的 _n_ × _k_ 矩陣，則
  
  　
  : $\operatorname {rank} (AB)=\operatorname {rank} (A).$
  * 如果 _C_ 是秩 _m_ 的 _l_ × _m_ 矩陣，則
  
  　
  : $\operatorname {rank} (CA)=\operatorname {rank} (A).$
* _A_ 的秩等於 _r_，若且唯若存在一個可逆 _m_ × _m_ 矩陣 _X_ 和一個可逆的 _n_ × _n_ 矩陣 _Y_ 使得

　
: : $XAY={\begin{bmatrix}I_{r}&0\\0&0\\\end{bmatrix}}$

　
: 這裡的 Ir 指示 _r_ × _r_ 單位矩陣。

　
: 證明可以通過高斯消去法構造性地給出。
* 西爾維斯特不等式：如果 _A_ 是一個 _m_ × _n_ 的矩陣且 _B_ 是 _n_ × _k_ 的，則

　
: : $\operatorname {rank} (A)+\operatorname {rank} (B)-n\leq \operatorname {rank} (AB).$

　
: 這是下一個不等式的特例.
* 這個不等式是由 Frobenius 提出的：如果 _AB_, _ABC_ 和 _BC_ 有定義，則

　
: $\operatorname {rank} (AB)+\operatorname {rank} (BC)\leq \operatorname {rank} (B)+\operatorname {rank} (ABC).$
* 子加性：當矩陣 $A$ 和 $B$ 的形狀相同時，有 $\operatorname {rank} (A+B)\leq \operatorname {rank} (A)+\operatorname {rank} (B)$ . 因此，一個秩為 _k_ 的矩陣能夠表示成 k 個秩為 1 的矩陣的加和，但不能是 k-1 個或更少。
* 矩陣的秩加上矩陣的零化度等於矩陣的縱行數（這就是秩 - 零化度定理）。
* 如果 _A_ 是實數上的矩陣，那麼 _A_ 的秩和它對應格拉姆矩陣的秩相等。於是，對於實矩陣

　
: : $\operatorname {rank} (A^{T}A)=\operatorname {rank} (AA^{T})=\operatorname {rank} (A)=\operatorname {rank} (A^{T})$ .

　
: 該性質可以通過它們的零空間證明。格拉姆矩陣的零空間由所有滿足 $A^{T}Ax=0$ 的向量 $x$ 組成。如果上式成立，那麼下式也成立： $0=x^{T}A^{T}Ax=|Ax|^{2}$ ，於是， $Ax=0$ ，即 $A^{T}A$ 與 $A$ 的零空間相同.
* 如果 _A_ 是複數上的矩陣且 _A_\* 表示 _A_ 的共軛轉置 (i.e., _A_ 的伴隨), 則

　
: $\operatorname {rank} (A)=\operatorname {rank} ({\overline {A}})=\operatorname {rank} (A^{T})=\operatorname {rank} (A^{*})=\operatorname {rank} (A^{*}A).$

### 向量組的線性相依性

將 $m$ 個 $n$ 維行向量排行成 $n\times m$ 的矩陣 _A_，這個對應矩陣的秩即為原向量組的秩。

原向量組線性相依的充分必要條件為：

　
: $r(A)<m$

如果

　
: $r(A)=m$

則向量組線性獨立。另外，不存在

　
: $r(A)>m$

特殊的，若向量的個數 $m$ 大於向量的維數 $n$ ，則根據：

　
: $r(A)\leq n<m$

這個向量組必然線性相依。

## 計算

計算矩陣 _A_ 的秩的最容易的方式是高斯消去法，即利用矩陣的初等轉換生成一個列階梯形矩陣，由於矩陣的初等轉換不改變矩陣的秩，因此 _A_ 的列階梯形矩陣有同 _A_ 一樣的秩。經過初等轉換的矩陣的非零列的數目就是原矩陣的秩。

例如考慮 4 × 4 矩陣

　
: $A={\begin{bmatrix}2&4&1&3\\-1&-2&1&0\\0&0&2&2\\3&6&2&5\\\end{bmatrix}}$

我們看到第 2 縱行是第 1 縱行的兩倍，而第 4 縱行等於第 1 和第 3 縱行的總和。第 1 和第 3 縱行是線性獨立的，所以 _A_ 的秩是 2。這可以用高斯算法驗證。它生成下行 _A_ 的列階梯形矩陣:

　
: $A={\begin{bmatrix}1&2&0&1\\0&0&1&1\\0&0&0&0\\0&0&0&0\\\end{bmatrix}}$

它有兩個非零的橫列。

在應用在計算機上的浮點數的時候，基本高斯消去（LU 分解）可能是不穩定的，應當使用秩啟示（revealing）分解。一個有效的替代者是奇異值分解（SVD），但還有更少代價的選擇，比如有支點（pivoting）的 QR 分解，它也比高斯消去在數值上更強壯。秩的數值判定要求對一個值比如來自 SVD 的一個奇異值是否為零的依據，實際選擇依賴於矩陣和應用二者。

## 應用

計算矩陣的秩的一個有用應用是計算線性方程組解的數目。如果係數矩陣的秩等於增廣矩陣的秩，則該方程組有解。在這種情況下，如果它的秩等於方程式的數目那麼該方程組有唯一的一個精確解。如果增廣矩陣的秩大於係數矩陣的秩，則方程組是不一致（Inconsistent）的。

在控制論中，矩陣的秩可以用來確定線性系統是否為可控制的，或可觀察的。

## 註解

## 參考文獻

* Horn, Roger A. and Johnson, Charles R. Matrix Analysis. Cambridge University Press, 1985. ISBN 978-0-521-38632-6.
* Kaw, Autar K. Two Chapters from the book Introduction to Matrix Algebra: 1. Vectors [1] and System of Equations [2]

## 參見

* 向量組的秩