矩陣的四個基本子空間的正交投影矩陣

本文的閱讀等級:中級

\mathcal{X} 為幾何向量空間 \mathbb{R}^p 的一個子空間,且 \mathcal{X}^{\perp}\mathcal{X} 的正交補餘 (orthogonal complement),意思是 \mathcal{X}^{\perp}+\mathcal{X}=\mathbb{R}^p\mathcal{X}^{\perp}\cap\mathcal{X}=\{\mathbf{0}\}。換一個說法,任一 \mathbf{z}\in\mathbb{R}^p 可唯一分解成 \mathbf{z}=\mathbf{x}+\mathbf{y},其中 \mathbf{x}\in\mathcal{X}\mathbf{y}\in\mathcal{X}^\perp,且 \mathbf{x}^T\mathbf{y}=0。令 P_{\mathcal{X}} 表示映射至子空間 \mathcal{X}p\times p 階正交投影矩陣。下列性質成立 (見“正交投影矩陣的性質與界定”):

  1. 對於每一 \mathbf{x}\in\mathcal{X}P_{\mathcal{X}}\mathbf{x}=\mathbf{x}
  2. 對於每一 \mathbf{z}\in\mathbb{R}^p(\mathbf{z}-P_{\mathcal{X}}\mathbf{z})\in\mathcal{X}^{\perp}
  3. P_{\mathcal{X}} 是實對稱冪等矩陣,即 P^T_{\mathcal{X}}=P_{\mathcal{X}}=P^2_{\mathcal{X}}
  4. P_{\mathcal{X}}+P_{\mathcal{X}^{\perp}}=I_pP_{\mathcal{X}^\perp}P_\mathcal{X}=P_\mathcal{X}P_{\mathcal{X}^\perp}=0

\dim \mathcal{X}=k (k\le p) 且 \{\mathbf{x}_1,\ldots,\mathbf{x}_k\}\mathcal{X} 的一組基底,將所有的基底向量組成 p\times k 階矩陣 X=\begin{bmatrix}  \mathbf{x}_1&\cdots&\mathbf{x}_k  \end{bmatrix},正交投影矩陣 P_{\mathcal{X}} 可由下列公式算得 (推導見“線代膠囊──正交投影矩陣”):

P_{\mathcal{X}}=X(X^TX)^{-1}X^T

值得注意的是 P_\mathcal{X} 不因所選擇的基底 \{\mathbf{x}_1,\ldots,\mathbf{x}_k\} (即 X 矩陣) 而改變。驗證於下:設 Y=\begin{bmatrix}  \mathbf{y}_1&\cdots&\mathbf{y}_k  \end{bmatrix}=XQ,其中 Q 是任何一個 k\times k 階可逆矩陣,即有 \text{span}\{\mathbf{x}_1,\ldots,\mathbf{x}_k\}=\text{span}\{\mathbf{y}_1,\ldots,\mathbf{y}_k\}。將 Y 代入正交投影矩陣算式,可得

\displaystyle\begin{aligned}  Y(Y^TY)^{-1}Y^T&=XQ(Q^TX^TXQ)^{-1}Q^TX^T\\  &=XQQ^{-1}(X^TX)^{-1}(Q^T)^{-1}Q^TX^T\\  &=X(X^TX)^{-1}X^T.\end{aligned}

 
給定一 m\times n 階實矩陣 A,行空間 (column space) C(A)、零空間 (nullspace) N(A)、列空間 (row space) C(A^T) 和左零空間 (left nullspace) N(A^T) 定義如下:

\displaystyle\begin{aligned}  C(A)&=\{A\mathbf{x}\vert\mathbf{x}\in\mathbb{R}^n\}\\  N(A)&=\{\mathbf{x}\in\mathbb{R}^n\vert A\mathbf{x}=\mathbf{0}\}\\  C(A^T)&=\{A^T\mathbf{y}\vert\mathbf{y}\in\mathbb{R}^m\}\\  N(A^T)&=\{\mathbf{y}\in\mathbb{R}^m\vert A^T\mathbf{y}=\mathbf{0}\}.\end{aligned}

\text{rank}A=rr<\min\{m,n\},則 \dim C(A)=\dim C(A^T)=r\dim N(A)=n-r\dim N(A^T)=m-r。在 \mathbb{R}^m 中,C(A)=N(A^T)^{\perp};在 \mathbb{R}^n 中,C(A^T)=N(A)^{\perp} (見“線性代數基本定理 (二)”)。運用上述性質可推導出 A 的四個基本子空間的正交投影矩陣 P_{C(A)}, P_{N(A)}, P_{C(A^T)}, P_{N(A^T)}。正交補餘的正交投影矩陣關係式 (4) 表明 P_{C(A)}+P_{N(A^T)}=I_mP_{C(A^T)}+P_{N(A)}=I_n,實際工作量因此得以減半。假設 A 的行空間 C(A) 基底為 \{\mathbf{b}_1,\ldots,\mathbf{b}_r\},零空間 N(A) 基底為 \{\mathbf{m}_1,\ldots,\mathbf{m}_{n-r}\}。令 m\times r 階行空間矩陣為 B=\begin{bmatrix}  \mathbf{b}_1&\cdots&\mathbf{b}_r  \end{bmatrix}n\times (n-r) 階零空間矩陣 M=\begin{bmatrix}  \mathbf{m}_1&\cdots&\mathbf{m}_{n-r}  \end{bmatrix}。套用正交投影矩陣公式,即得

\displaystyle\begin{aligned}  P_{C(A)}&=B(B^TB)^{-1}B^T\\  P_{N(A^T)}&=I_m-B(B^TB)^{-1}B^T\\  P_{N(A)}&=M(M^TM)^{-1}M^T\\  P_{C(A^T)}&=I_n-M(M^TM)^{-1}M^T.  \end{aligned}

 
下面說明如何以高斯消去法和奇異值分解求得行空間矩陣 B 和零空間矩陣 M,隨後並給出基於偽逆矩陣 (pseudoinverse) 的正交投影矩陣表達式。

 
高斯消去法

高斯消去法是計算矩陣 A 的行空間 C(A) 基底和零空間 N(A) 基底的通用方法 (見“線性方程 Ax=b 的通解與矩陣 A 的四個基本子空間整合算法”):以基本列運算將增廣矩陣 \begin{bmatrix}  A^T&I_n  \end{bmatrix} 化簡至簡約列梯形式 (reduced row echelon form)。令 n\times n 階矩陣 E 代表基本列運算所對應的基本矩陣乘積。列運算過程等同於一連串的矩陣乘法,引入 I_n 的目的是為了記錄所執行過的淨運算,如下:

\displaystyle  E\begin{bmatrix}  A^T&I_n  \end{bmatrix}=\begin{bmatrix}  EA^T&E  \end{bmatrix}=\begin{bmatrix}  R&E  \end{bmatrix}

其中 n\times mR=EA^TA^T 的簡約列梯形式。因為 \text{rank}A^T=\text{rank}A=rR 的軸列 (pivot row,包含軸的列) 總數等於 r。令 R=\begin{bmatrix}  R_1\\  0  \end{bmatrix},其中 R_1 是軸列構成的 r\times m 階分塊,並令 E=\begin{bmatrix}  E_1\\  E_2  \end{bmatrix},其中 E_1r\times n 階,E_2(n-r)\times n 階。因此,高斯消去法的計算過程可表示為

\displaystyle  \begin{bmatrix}  A^T&I_n  \end{bmatrix}\to\begin{bmatrix}  R_1&E_1\\  0&E_2  \end{bmatrix}

基本列運算是列的線性組合,故 A^TR 有相同的列空間,即 C(A)=C(R^T)。簡約列梯形式 Rr 個軸列組成一線性獨立集,可知 R_1 的所有列向量構成 A 的行空間基底。換句話說,行空間矩陣為 B=R_1^T。另一方面,因為

\displaystyle  EA^T=\begin{bmatrix}  E_1\\  E_2  \end{bmatrix}A^T=\begin{bmatrix}  E_1A^T\\  E_2A^T  \end{bmatrix}=\begin{bmatrix}  R_1\\  0  \end{bmatrix}=R

可得 E_2A^T=0。等號兩邊取轉置,AE_2^T=0,表明 E_2 的列向量屬於 N(A)。但基本矩陣乘積 E 是可逆矩陣,必有線性獨立的列,即知 E_2 的列向量集構成 A 的零空間基底,也就是說,零空間矩陣為 M=E_2^T。所以 A 的四個基本子空間的正交投影矩陣如下:

\displaystyle\begin{aligned}  P_{C(A)}&=R_1^T(R_1R_1^T)^{-1}R_1\\  P_{N(A^T)}&=I_m-R_1^T(R_1R_1^T)^{-1}R_1\\  P_{N(A)}&=E_2^T(E_2E_2^T)^{-1}E_2\\  P_{C(A^T)}&=I_n-E_2^T(E_2E_2^T)^{-1}E_2.  \end{aligned}

 
奇異值分解

m\times n 階矩陣 A 的奇異值分解為 (見“線代膠囊──奇異值分解”)

\displaystyle  A=U\Sigma V^T

其中

  • U=\begin{bmatrix}  \mathbf{u}_1&\cdots&\mathbf{u}_m  \end{bmatrix} 是一 m\times m 階正交矩陣 (orthogonal matrix),滿足 U^T U=I_m\mathbf{u}_1,\ldots,\mathbf{u}_m 為左奇異向量;
  • V=\begin{bmatrix}  \mathbf{v}_1&\cdots&\mathbf{v}_n  \end{bmatrix} 是一 n\times n 階正交矩陣,滿足 V^TV=I_n\mathbf{v}_1,\ldots,\mathbf{v}_n 為右奇異向量;
  • \Sigma=\begin{bmatrix}  D&0\\  0&0  \end{bmatrix} 是一 m\times n 階矩陣,D=\text{diag}(\sigma_1,\ldots,\sigma_r)\sigma_1\ge\cdots\ge\sigma_r> 0 為奇異值。

UV 以分塊矩陣表示:

\displaystyle\begin{aligned}  U&=\begin{bmatrix}  U_1&U_2  \end{bmatrix}=\begin{bmatrix}  \mathbf{u}_1&\cdots&\mathbf{u}_r&\vert&\mathbf{u}_{r+1}&\cdots&\mathbf{u}_m  \end{bmatrix}\\  V&=\begin{bmatrix}  V_1&V_2  \end{bmatrix}=\begin{bmatrix}  \mathbf{v}_1&\cdots&\mathbf{v}_r&\vert&\mathbf{v}_{r+1}&\cdots&\mathbf{v}_n  \end{bmatrix},\end{aligned}

代入奇異值分解,可得

\displaystyle  A=\begin{bmatrix}  U_1&U_2  \end{bmatrix}\begin{bmatrix}  D&0\\  0&0  \end{bmatrix}\begin{bmatrix}  V_1^T\\  V_2^T  \end{bmatrix}=U_1DV_1^T

上式稱為「瘦」奇異值分解。因為 AV_1=U_1DV_1^TV_1=U_1DAV_2=U_1DV_1^TV_2=U_1D0=0,可知 C(A)=C(U_1)N(A)=C(V_2)。矩陣 U_1V_2 包含線性獨立的行向量,故可設行空間矩陣為 B=U_1,零空間矩陣為 M=V_2。代入正交投影矩陣公式,

\displaystyle\begin{aligned}  P_{C(A)}&=U_1(U_1^TU_1)^{-1}U_1^T=U_1U_1^T\\  P_{N(A)}&=V_2(V_2^TV_2)^{-1}V_2^T=V_2V_2^T.  \end{aligned}

因為 UU^T=U_1U_1^T+U_2U_2^T=I_mVV^T=V_1V_1^T+V_2V_2^T=I_n

\displaystyle\begin{aligned}  P_{N(A^T)}&=I_m-U_1U_1^T=U_2U_2^T\\  P_{C(A^T)}&=I_n-V_2^TV_2=V_1V_1^T.  \end{aligned}

 
偽逆矩陣

對於一 m\times n 階矩陣 A,若奇異值分解是 A=U\Sigma V^T,則偽逆矩陣 A^+ 為下面的 n\times m 階矩陣 (見“偽逆矩陣與轉置矩陣的二三事”):

\displaystyle  A^+=V\Sigma^+U^T=V\begin{bmatrix}    D^{-1}&0\\    0&0    \end{bmatrix}U^T

其中 \Sigma^+=\begin{bmatrix}  D^{-1}&0\\  0&0  \end{bmatrix}n\times m 階矩陣。偽逆矩陣 A^+ 的表達式即為其奇異值分解。計算

\displaystyle    AA^+=U\Sigma V^TV\Sigma^+ U^T=U\Sigma\Sigma^+U^T=\begin{bmatrix}  U_1&U_2    \end{bmatrix}\begin{bmatrix}  I_r&0\\  0&0  \end{bmatrix}  \begin{bmatrix}  U_1^T\\  U_2^T  \end{bmatrix}=U_1U_1^T

\displaystyle  A^+A=V\Sigma^+ U^TU\Sigma V^T=V\Sigma^+\Sigma V^T=\begin{bmatrix}  V_1&V_2  \end{bmatrix}\begin{bmatrix}  I_r&0\\  0&0  \end{bmatrix}  \begin{bmatrix}  V_1^T\\  V_2^T  \end{bmatrix}=V_1V_1^T

比較奇異值分解的正交投影矩陣表達式,可得

\displaystyle  P_{C(A)}=AA^+,~P_{C(A^T)}=A^+A

也就有

\displaystyle  P_{N(A^T)}=I_m-AA^+,~P_{N(A)}=I_n-A^+A

Advertisements
This entry was posted in 線性代數專欄, 內積空間 and tagged , , , , , , , , , . Bookmark the permalink.

5 則回應給 矩陣的四個基本子空間的正交投影矩陣

  1. 在路上 說:

    很久以前看微积分教材的时候就有一个疑问:两个三维向量叉乘的结果是与这两个向量都垂直的向量,那么如果是两个四维向量呢?能叉乘么?有定义么?结果又是什么? 看到这里,好像有点明白,如果两个高于三维的向量做叉乘,结果应该是这两个向量的正交补空间。 纯属胡思乱想,不知对不对,谢谢周老师指点!

    • ccjou 說:

      叉乘是一個三維向量運算,兩個三維向量的叉乘是一個三維向量。雖然二個四維向量不存在叉乘運算,但你可以定義一函數f(u,v)=\text{span}\{u,v\}^\perp

  2. 在路上 說:

    非常感谢周老师的回复,在您的帮助下,我已解开了几个疑惑,上面的算一个,还有最重要的是上次那个关于初等矩阵与rank-one矩阵之间关系的问题,虽不能说一通百通,但至少也算一通十通,向周老师致敬!

  3. 在路上 說:

    周老师,我几经辗转,终于买到您的讲课光碟了,还没拆包装,很是激动啊…

    • ccjou 說:

      其他海外地區不算的話,你很可能是第一位購買我的教學光碟的大陸讀者,希望播放順利。

發表迴響

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

WordPress.com Logo

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

Twitter picture

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

Facebook照片

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

Google+ photo

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

連結到 %s