對線性方程組 Ax = b,其中 A 是 m×n 矩陣,x 是 n×1 行向量,b 是 m×1 行向量,如果 m = n,A 可逆 (invertible),則 x = A^{-1}b 是唯一解;但 A 不可逆,甚至 m≠n 時,x 不一定有解,一般而言,x 可能無解、唯一解、或無窮多組解。用矩陣基本列運算 (elementary row operation),或相當於高斯消去法 (Gaussian elimination),有解的線性方程組 Ax = b 等價於方程組 y + (A*)z = b*,其中 y, z 是 x 分割成兩部分(可能要加上順序重整),若沒有 z 部分,就是 y = x,相當於增廣矩陣 (augmented matrix) [ A b ] 經一連串基本列運算後,前 n 個非零列為 [ I b* ]。令 P 為這些基本列運算對應的基本矩陣 (elementary matrix) 的乘積,則
[ I b* ] = [ I 0 ] P [ A b ]
或即 [ I 0 ] P 從左邊乘上 A 得單位矩陣 I,我們稱矩陣 [ I 0 ] P 是 A 的左逆(左反,left inverse)矩陣,記為 A^L = [ I 0 ] P。若 A 有左逆矩陣 A^L,上述線性方程組的解似乎因此變成 x = A^L b。但
Ax = A A^L b
我們能保證 A A^L = b 嗎?其實 PA 在此情形 (m > n) 第 n 列之下都是 0,因此 A^L 並不唯一,A^L = [ I * ] P,其中 * 代表 m-n 行 n 列的任意矩陣。
拋開解線性方程組的問題,前面我們談到矩陣 A 的幾種情況:一是 A 可逆,此時 A 必是方陣;二是 A 存在左逆矩陣,此時列數大於行數,且行滿秩 (full column rank)。相對於行滿秩,有列滿秩 (full row rank),若 A 的轉置 A' 是行滿秩,A 就是列滿秩,而
A (A'^L)' = (A'^L A')' = I
即 A' 的左逆矩陣 A'^L 的轉置是 A 的右逆(右反)矩陣 A^R。當然,更「多」矩陣既非行滿秩也非列滿秩,既不存在左逆矩陣也不存在右逆矩陣。不過,或基於數學家「一般化」或基於實務應用需要,卻有偽逆(反)矩陣 (pseudoinverse) 或廣義逆(反)矩陣 (generalized inverse) 的提出。廣義反矩陣的條件是
若 A^g 滿足 A A^g A = A 則稱之為 A 的廣義反矩陣。
這定義有如在統計中定義機率分布函數之虛擬反函數。
還是從線性方程組來看,Ax = b 當 A 可逆時得唯一解 x = A^{-1} b;當 A 不可逆時,假設 x = A^g b,則
A x = A (A^g b) = (A A^g) b = (A A^g) A x = b
方程式 Ax = b 表示 b 是 A 各行的線性組合,或說 b 在 A 的行空間 C(A) 中,x 的元素是組合係數。所以 A A^g A = A 表示對任何 x 使 Ax = b 成立,取 x = A^g b 確實重建了方程式。當 A 有左逆矩陣時,
A A^L A = A I = A
當 A 有右逆矩陣時 A A^R A = I A = A;當然 A 可逆時也有 A A^{-1} A = A。因此,廣義反矩陣包含一般反矩陣、左反矩陣及右反矩陣為其特例。
是否任意(實數)矩陣都存在廣義反矩陣?首先假設 m×n 矩陣 A 除左上角 Ir 是 r×r 單位矩陣外其餘是三個不同階 0 矩陣構成,則
[ Ir 0a ] [ Ir 0b' ] [ Ir 0a ]
[ 0b 0c ] [ 0a' 0c' ] [ 0b 0c ]
= [ Ir 0b' ] [ Ir 0a ] = [ Ir 0a ]
[ 0b 0c0c' ] [ 0b 0c ] [ 0b 0c ]
最左式第一個矩陣是 A,上列運算表明 A A' A = A,因此 A' 正好是 A 的一個廣義反矩陣。任何 m×n 矩陣可以透過基本列運算和基本行運算化成縮簡形 A* 如上列 A 的形式,或即
A = P A* Q
其中 P 是 m×m 可逆矩陣而 Q 是 n×n 可逆矩陣。令
B = Q^{-1} A*' P^{-1}
則
A B A = P A* Q Q^{-1} A*' P^{-1} P A* Q
= P A* A*' A* Q = P A* Q = A
因此 B = A^g。如果 A 是實對稱矩陣,則可將其正交對角線化
P'AP = Λ = diag(λ_1,...,λ_n)
即 A = PΛP'。取 B = PΓP' 其中 Γ = diag(γ_1,...,γ_n),
γ_i = 1/λ_i if λ_i ≠ 0; = 0 if λ_i = 0
則 B = A^g。注意如此定義的 A^g 具有
(1) A A^g A = A
(2) A^g A A^g = A^g
(3) A^g A 對稱
(4) A A^g 對稱
(5) A^g 對稱
除了 (5) 只適用於對稱的 A 以外,前面 m×n 矩陣 A 可以用奇異值分解 (singular value decomposition, SVD) A = UΣV',其中 U 為 m×m 正交矩陣,V 為 n×n 正交矩陣,Σ 為一 m×n 矩陣其中主對角線包含 A 的非零奇異值,其餘元素皆是 0。定義 A^g 如下:
B = V Θ U', Θ = [ θ(ij) ], θ(ij) = 1/σ(ji) if σ(ji) > 0; = 0 otherwise
則 B 也滿足 (1)~(4) 各條件。當然,廣義反矩陣只要求滿足 (1),其他條件則視需要而要求,如果一個廣義反矩陣符合 (1) 和 (2),則稱之為自反的 (reflexive,或譯反身的),以 A^r 表示(注意與右反矩陣 A^R 的差別);如果滿足 (1), (2), (3), 則稱之為 left weak generalized inverse;滿足 (1), (2), (4), 則稱之為 right weak generalized inverse;全部 (1) 至 (4) 都滿足的,稱為偽反(逆)矩陣,或稱之為 Moore–Penrose 反矩陣,常以 A^+ 表示。
設 A 是可逆的,G 是其任一廣義反矩陣,則由 AGA = A 得
G = A^{-1}(AGA)A^{-1} = A^{-1} A A^{-1} = A^{-1}
只有 A^{-1} 是可逆矩陣 A 的廣義反矩陣。若 A 存在左逆矩陣,則
A^L A = I = A^L AGA = GA
換言之,A 的廣義反矩陣也是其左逆矩陣;類似的結果在存在右逆矩陣時成立:所有廣義反矩陣都是右逆矩陣。
設 G, H 都是 A 的廣義反矩陣,則
AGAHA = AGA = A
所以 GAH 也是 A 的一個廣義反矩陣。又,
(GAH)A(GAH) = GAHAGAH = GAGAH = GAH
也就是說 GAH 是自反的。自反的意思是說:A^r 一方面是 A 的一個自反的廣義反矩陣,反過來 A 也是 A^r 的一個自反的廣義反矩陣。如果 G 滿足前述廣義反矩陣的 (1), (2), (3) 而 H 滿足 (1), (2), (4),則
GAHA = GA = (GA)' = (GAHA)'
AGAH = AH = (AH)' = (AGAH)'
即 GAH 這個 A 的廣義反矩陣符合 (3) 也符合 (4);但根據前一結論,GAH 型的廣義反矩陣是自反的,總合起來這樣的 GAH 滿足 (1) 至 (4) 全部條件,是 A^+。雖然 A^g 有無限多個,如果 G 是 A 的任意一個廣義反矩陣,X, Y 是任意 n×m 矩陣,則
A [G + X (I - A G) + (I - G A) Y] A = A
所以 G + X(I-AG) + (I-GA)Y 都是 A 的一個廣義反矩陣,式中前一個 I 是 m×m 單位矩陣,後一個 I 則是 n×n 單位矩陣。很容易看出 I-AG 與 I-GA 在式中因右邊或左邊乘 A 致其消失,所以更一般的是可將其中任一處出現的 G 代之以 A 的任一個廣義反矩陣,另外還可再加一項
A^g = G + X(I - AH) + (I - FA) Y + (I-EA)Z(I-AB)
式中 B, E, F, G, H 都是 A 的任意廣義反矩陣,X, Y, Z 是任意 n×m 矩陣。前面 GAH 也可看成是上式的一個特例
GAH = G - G(I - AH)
若 A 是有左逆矩陣,則
A^L = G + X(I - AH)
其中 G, H 是 A 的任意左逆矩陣,則上列 A^L 都是 A 的左逆矩陣。類似,有右逆矩陣時,由特定右逆矩陣 G, H 可以得到更多右逆矩陣
A^R = G + (I - HA)Y
除了前面提過用奇異值分解得出的一種廣義反矩陣是偽反矩陣之外,構建具自反性廣義反矩陣的最簡單方法應是前述 GAH 型的廣義反矩陣;此外,
設 G = A' (AA')^g, 則 GA = A' (AA')^g A
可證明 GA 是對稱的,而且 AGA = A,也就是說 G 是滿足 (1), (3) 的廣義反矩陣;同理 H = (A'A)^g A' 是 A 的一個滿足 (1), (4) 的廣義反矩陣。如果前項 (AA')^g 和 (A'A)^g 分別換成 (AA')^r 和 (A'A)^r,則得到的分別是滿足 (1), (2), (3) 和 (1), (2), (4) 的廣義反矩陣。要證明這些,基本上就是證明兩點:
A [A' (AA')^g] A = A; A' (AA')^g A = A' [(AA')^g]' A
由於 AA' 是對稱的,若是 (AA')^g 取的是對稱的廣義反矩陣,上列第二式當然成立;但我們要的是無論 (AA')^g 本身是否對稱,A (AA')^g A' 都是對稱的。事實上我們要證明:
(a) A [A' (AA')^g] A = A 對 AA' 的任一個廣義反矩陣都成立;
(b) A' (AA')^g A 與 (AA')^g 的選擇無關。
令 R^n 中向量 v = u + w,其中 u = A'x, Aw = 0,或說 u 在 C(A') 中,而 w ⊥ C(A'),則
A[A'(AA')^g]Av = AA' (AA')^g A(A'x + w)
= AA' (AA')^g AA'x = AA'x = A(A'x + w) = Av
因 v 是任意的,這表示 A[A'(AA')^g]A 和 A 是相同的線性映像,這證明了 (a),即
AA' (AA')^g A = A
令 F = A' (AA')^g A,上式為 AF = A。再者,
F'v = F'(A'x + w) = F'A'x = A'x = u
無論 F 中的 (AA')^g 如何選,F' 對 v 的作用都是 v 在 C(A') 的部分;而 v 在 C(A') 與其正交補空間 (orthogonal complement) 上的分割 v = u + w 是唯一的,這也就是說 F'v 是唯一決定的,與 (AA')^g 的選擇無關。由於 v 是任意的,這表示 F' 或 F 是唯一決定的,和 (AA')^g 的選擇無關。
換個方向,M = A (A'A)^g A' 是唯一決定的,和 (A'A)^g 的選擇無關;由於 A'A 是對稱的,我們可以選擇對稱的廣義反矩陣,所以很容易得到 M 對稱的結論。另外,MA = A,所以很容易得證 M^2 = M,即 M 是冪等的 (idempotent),所以 M 是一正交(垂直)投影算子,其投影標的是 C(M);但因 MA = A,所以 C(M) = C(A),即 M 是在 C(A) 上的正交投影。這在統計線性模型上很重要,Y = Xβ + e,最小平方估計為 Xβ^ = MY,把 Y 垂直投影到 C(X),因為模型的意義就是說 Y 的期望值在 C(X) 中,所以要估計 E[Y] = Xβ 就在 C(X) 中找最接近資料 Y 的,那就是 Y 在 C(X) 的垂直投影。把統計的線性模型換成線性系統:Ax = b 有解表示 b 在 C(A) 中,無解表示 b - Ax 非零。若系統有解,
取 x = (A'A)^g A'b 則 Ax = A (A'A)^g A'b = Mb
若系統無解則 Mb 是「最接近」b 的 Ax,所以上列 x 解就是非精確性系統 Ax ≒ b 的最小平方解。在 Ax = b 有解時,除非 A 是行滿秩,亦即 A'A 可逆,否則 x 有無限多組解
x = A^g b + (I - A^g A) w
行滿秩則有左逆矩陣,(A'A)^{-1} A' 即為 A 的一個左逆矩陣。
前面我們知道如何由一個任意的廣義反矩陣 A^g 建構出一個自反的廣義反矩陣;同時也知道如何建構滿足 (1`), (3) 或 (1), (4),如何建構滿足 (1`), (2), (3) 或 (1), (2), (4) 的廣義反矩陣;又知道如何結合前兩種廣義反矩陣得到偽反矩陣。簡單地說,
A^+ = A' (AA')^r A (A'A)^r A'
而 (AA')^r = (AA')^g AA' (AA')^g, (A'A)^r = (A'A)^g A'A (A'A)^g。當然由前面提過的,利用奇異值分解的方法來計算可能更方便些。但是,如前面說的,在 A 不可逆時,廣義反矩陣有無窮多個,即使同時滿足 (1), (2), (3) 或 (1), (2), (4) 的,A' (AA')^r 和 (A'A)^r A' 也都有無窮多種可能,因為 (AA')^r 和 (A'A)^r 也是有許許多多的選擇。然而,
[定理]矩陣 A 的偽反矩陣 A^+ 是唯一的。
[證明]假設 A^+ 是 A 的偽反矩陣,X 為任意滿足 (1) 至 (4) 全部條件的矩陣。則 A = AXA = AA'X',故 (X-A^+)AA' = 0,結果得 (X-A^+)A = 0。
又,X = XAX = XX'A',故存在 B 使 X' = AB,同理存在 E 使 (A^+)' = AE,所以 (X-A^+)' = A(B-E)。
第一個結果說 X - A^+ 各列,即 (X - A^+)' 各行,與 A 各行正交;第二個結果說 (X - A^+)' 各行是 A 各行的線性組合。結合兩個結果,(X - A^+)' 各行只能是 0 向量。所以 X = A^+,即 A^+ 唯一.
上面的推論中,第一個結果用了 (1) 和 (3),第二個結果用了 (2) 和 (4)。也就是說:四個條件都成立,才使得 A^+ 有了唯一性。再者,在偽反矩陣的四個條件中顯示 A^+ 和 A 的地位是相同的,因此由於唯一性使我們能寫出 (A^+)^+ = A。在自反的廣義反矩陣中,A 和 A^r 雖是互為對方的一個自反性廣義反矩陣,但不能寫 (A^r)^r = A。
設 A = UΣV',則 A^+ = V Σ^+ U',其中 Σ^+ 是將 Σ 轉置後將非零主對角線元素取倒數,故 (Σ')^+ = (Σ^+)',進而一般的 (A')^+ = (A^+)';因此,若 A 對稱,則 A^+ 亦對稱。不過,一般而言 (AB)^+ 不等於 (B^+)(A^+);但若 B 是可逆的,
令 E = B^{-1} A^+,則 E 是 AB 符合 (1), (2), (4) 的廣義反矩陣;當 B 是正交矩陣時,E = B' A^+ 是 AB 的偽反矩陣。類似地,B 可逆時 F = A^+ B^{-1} 是 BA 符合 (), (2), (3) 的廣義反矩陣;當 B 是正交矩陣時 F = A^+ B' 是 BA 的偽反矩陣。
我們也可把 A^+ 表示成 (A'A)^+ A',藉由 A'A 的偽反矩陣得到 A 的偽反矩陣;也可表示為 A'(AA')^+。因此,若 A 是行滿秩,則 A^+ = (A'A)^{-1}A';若 A 列滿秩則 A^+ = A'(AA')^{-1},在 C(A) 的垂直投影算子因而是 M = A A^+,將 R^m 中向量 u 送到 Mu;在 A 的列空間 R(A) 的投影算子是 N = A^+ A,將 R^n 中向量 v' 送到 v'N。在 R^m 中向量可唯一分解成在 C(A) 或垂直 C(A),後者可表示為 (I-AA^+)x;同樣在 R^n 中向量可唯一分解成在 R(A) 或正交於 R(A),後者可寫成 y'(I-A^+A)。
線性方程式 Ax = b 有解,則解為 x = A^g b,特別是 x = A^+ b 可當做代表解,故 b = Ax = A A^+ b;反之,若 A A^+ b = b,則 x = A^+ b 是 Ax = b 的一解。類似地,
矩陣方程式 AX = B 有解的充要條件是 A A^+ B = B; 方程式 AXB = C 有解的充要條件是 A A^+ C B^+ B = C。
[證]方程式 AX = B 完全類同 Ax = b。
方程式 AXB = C 有解則
C = AXB = A A^+ AXB B^+ B = A A^+ C B^+ B
反之,若 A A^+ C B^+ B = C,顯然 X = A^+ C B^+ 滿足 AXB = C。
當 AX = B 有解時 X = A^g B = A^+ B + (I - A^+ A)Y, 其中 Y 是適當階數的任意矩陣;而 AXB = C 的通解是
X = (A^+ C B^+) + Y - (A^+ AYB B^+)
其中 Y 是任意與 X 同階矩陣。
前面利用奇異值分解求得偽反矩陣,但我們也可應用基本列/行運算將 A 化成 2×2 區塊,除左上角區塊外,其代區塊都是 0:
PAQ = [ B 0 ] 即 A = P^{-1} [ B 0 ] Q^{-1}
[ 0 0 ] [ 0 0 ]
我們可以用縮減的矩陣計算 A 的廣義反矩陣
令 X = Q [ α β ] P 則 AXA = P^{-1} [ BαB 0 ] Q^{-1}
[ γ δ ] [ 0 0 ]
只要 α = B^g,則 X 就是 A^g;如果要得到具自反性的廣義反矩陣,則需要
α = B^r, B^r B β = β, γ B B^r = γ, γBβ = δ
首先,取 α = B^r 後 β = αU, γ = Vα,最後得 δ。通常我們是將 A 縮減至 B 為可逆的形式,所以 B^g = B^r = B^{-1}。在此形式下,如果要得到滿足 (1), (3) 的廣義反矩陣,XA 必須對稱,
XA = Q [ αB 0 ] Q^{-1}
[ γB 0 ]
設 Q = [ Q1 Q2], Q^{-1} = [T1' T2' ]',則 XA = (Q1 α + Q2 γ) B T1。由於 Q 可逆,T1 唯一存在,並同時滿足 T1 Q1 = I 及 T1 Q2 = 0,則
T1 = (Q1 - Q2 Q2^+ Q1)^+ (I - Q2 Q2^+)
這是因為 T1 Q2 = 0 表示 T1 各列與 C(Q2) 正交,所以 T1 = Y (I - Q2 Q2^+);但
T1 Q1 = I = Y (Q1 - Q2 Q2^+ Q1)
式中 Y 應為 Q1 - Q2 Q2^+ Q1 之左逆矩陣,用偽反矩陣符號表示之。故
XA = (Q1 α + Q2 γ) B (Q1 - Q2 Q2^+ Q1)^+ (I - Q2 Q2^+)
其中 α = B^{-1},而 γ 必須使上列 XA = (XA)',即
(Q1 + Q2 γ B) T1 = T1' (Q1 + Q2 γ B)'
左乘 Q2' 則右式為 0,再右乘 Q1 得
Q2' Q1 + Q2' Q2 γ B = 0
故得 γ = -(Q2' Q2)^{-1} Q2' Q1 B^{-1} = - Q2^+ Q1 B^{-1},結果
XA = (Q1 - Q2 Q2^+ Q1) (Q1 - Q2 Q2^+ Q1)^+ (I - Q2 Q2^+)
故其轉置,
(XA)' = (I - Q2 Q2^+) (Q1 - Q2 Q2^+ Q1) (Q1 - Q2 Q2^+ Q1)^+
= (Q1 - Q2 Q2^+ Q1) (Q1 - Q2 Q2^+ Q1)^+
是對稱的。若還要求滿足 (2),則加上 β = αU 及 δ = γBβ = -(Q2^+ Q1)U。類似地,B 可逆則滿足 (1), (4) 的 A^g = X 需要
β = - α P1 P1^+, P1 為 P 之前 r 列,r 為 B 之行列數
而要同時滿足 (2) 則 γ = Vα 且 δ = -V(P1 P2^+)。因此,A^+ 對應的是
α = B^{-1}
β = - B^{-1} P1 P1^+
γ = - Q2^+ Q1 B^{-1}
δ = Q2^+ Q1 B^{-1} P1 P2^+
在上面的計算中,B 是 A 經基本行列運算後縮減形的可逆區塊,是 r×r 矩陣,r 也就是 A 的秩 (rank)。由於 α = B^{-1},可知任意 A^g,包括 A^+ 都擁有不小於 r 的秩;但對 A^r 而言,
[ α β ] = [ α αU ]
[ γ δ ] [ Vα VαU ]
後 m - r 列是前 r 列的線性組合(後 n - r 行也是前 r 行的線性組合), 所以 A^r 以及 A^+ 的秩都和 A 相同。
以上關於廣義反矩陣的敘述,都假設原矩陣是佈於實數體 R 的矩陣;若是考慮佈於複數體 C 的矩陣,把「轉置」換成「轉置共軛」,把「對稱」換成「厄米特形 (Hermitian)」,結果完全一致。不過,關於廣義反矩陣,其實是有其他種類,這裡只是介紹在統計中常用的一種定義。另外,也有專書談廣義反矩陣。