秩 (線性代數)

在線性代數中，一個矩陣 $A$ 的列秩是列向量生成的最大線性無關組的向量個數。類似地，行秩是矩陣$A$ 的線性無關的橫行的個數。矩陣的列秩和行秩總是相等的，因此它們可以簡單地稱作矩陣 $A$ 的秩（Rank）。通常表示為 $\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_1x_1 + c_2x_2 + \cdots + c_rx_r) = Av = 0,$$

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

$$c_1x_1 + c_2x_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(AT). 然而對於復係數矩陣，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} <pre> 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 = <pre> \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}(A B).$證明: 對不等式$\dim \operatorname{ker}(AB) \le \dim \operatorname{ker}(A) + \dim \operatorname{ker}(B)$使用秩－零化度定理
- 這是下一個不等式的特例.
- 這個不等式是由Frobenius提出的: 如果 AB, ABC 和 BC 有定義, 則
- $$\operatorname{rank}(AB) + \operatorname{rank}(BC) \le \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}(A A^T) = \operatorname{rank}(A) = \operatorname{rank}(A^T)$.
- 該性質可以通過它們的零空間證明. 格拉姆矩陣的零空間由所有滿足 $A^T A x = 0$的向量$x$組成。如果上式成立, 那麼下式也成立： $0 = x^T A^T A x = |A x|^2$，於是，$A x = 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) \le n < m$$

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

## 計算

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

例如考慮4 × 4矩陣

$$A = <pre> \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 = <pre> \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 and System of Equations