SVD專題1 運算元的奇異值分解——矩陣形式的推導

SVD專題1 運算元的奇異值分解——矩陣形式的推導

前言 Preface

《Linear Algebra Done Right》一書在講述運算元的奇異值分解時並未給出其矩陣分解形式,僅是在結構上予以闡明:運算元奇異值分解的核心在於使用兩組基。以下討論旨在總結奇異值分解推導的整個流程並給出運算元奇異值分解的矩陣形式。

幾點說明

  • 本文討論的範圍局限於運算元的奇異值分解,而非更廣泛的線性映射的奇異值分解。
  • 本文的敘述方式不同於通常教材的做法,即並不事先羅列為了得到目標結論所需的預備知識,而是一環扣一環反向補充每一個步驟所需的知識。
  • 為方便討論,以下涉及到的運算元均默認是復向量空間 \(V\) 中的運算元,故不在每句話中重複指明復向量空間 \(V\) 上的運算元

預備知識 Prerequisite

不同教材中給出運算元奇異值分解的方式不同,本文將在運算元極分解的基礎上引出奇異值分解。

1.1 極分解 Polar Decomposition

運算元極分解:一個運算元 \(T\) 總是可以分解成一個等距同構 \(S\) 和一個正運算元 \(\sqrt{T^*T}\) 的乘積。

\[T = S\sqrt{T^*T}\\
\]

現在我們遇到了兩個新概念,等距同構 \(S\) 和正運算元 \(\sqrt{T^*T}\) ,我們先來討論前者。

1.2 等距同構 Unitary Operator

1.2.1 什麼是等距同構

我們先給出等距同構的定義:若運算元 \(S\) 能夠保持範數不變,則稱 \(S\) 為等距同構,即:

\[||Sv|| = ||v||\\
\]

等距同構 \(S\) 是怎樣刻畫的呢?其實就是在問一個運算元 \(S\) 是等距同構的話有哪些等價條件呢?這裡我們列舉以下有助於理解我們後續推導的等價關係:

1.2.2 等距同構的刻畫

運算元 \(S\) 是等距同構 \(\Longleftrightarrow\)

(1)向量空間中的規範正交基 \(\{e_1, \cdots, e_n \}\)\(S\) 作用後仍然是規範正交基 \(\{Se_1, \cdots, Se_n \}\) ,不妨記作 \(\{f_1, \cdots, f_n \}\)

(2)\(S^*S = SS^* = I , \quad or \quad S^* = S\)

注意觀察,(2)其實告訴我們了 \(S\) 是一個正規運算元,在此基礎上多了一些別的性質,那麼我們就可以在先前已經能夠完全描述的正規運算元的基礎上來描述 \(S\)

重要補充:正規運算元與復譜定理

正規運算元:若運算元 \(T\) 和它的伴隨可交換,稱運算元 \(T\) 為正規運算元,即:\(T^*T = TT^*\)

之所以我們能夠完全描述正規運算元,正是由於復譜定理:復向量空間中的正規運算元 \(T\) 可以被一組規範正交基給對角化。

小聲嗶嗶時間:以後我們就清楚了,凡是遇到了正規運算元,就知道它可以被一組規範正交基給對角化,我們要訓練自己的小腦瓜,直到把這句話刻在腦子裡,變成一種本能反應。

1.2.3 等距同構的描述

等距同構 \(S\) 的描述: \(S\) 可以被一組規範正交基給對角化,且相應的本徵值的絕對值為1。

請拿出小本本記住這句話的前半部分,我們後面會用到的:即 \(S\) 可以被一組規範正交基給對角化。

1.3 正運算元 Positive Operator

再來談一談正運算元的刻畫及其描述。

1.3.1 什麼是正運算元

我們先給出正運算元的定義:若自伴運算元 \(T\) 滿足 \(\left \langle Tv, v \right\rangle \ge 0\) 恆成立,則稱 \(T\) 是正運算元。

溫馨小提示:由於自伴運算元滿足 \(T^* = T\) ,所以自伴運算元都是正規運算元。(^_^)

1.3.2 正運算元的刻畫

為了方便理解和記憶,這裡先擺出書中重要的一種類比關係:

\(正規運算元\rightleftharpoons 實數\)
\(正運算元 \ \ \ \ \rightleftharpoons 非負實數\)

運算元 \(T\) 是正運算元 \(\Longleftrightarrow\)

(1) \(T\) 是自伴運算元且所有本徵值非負

(2) \(T\) 有唯一的正平方根,可以把它記作 \(\sqrt{T}\)

等等!運算元還有開平方這一說?
答曰:小笨蛋,我上面的類比關係白寫啦?非負實數可以開個平方算算平方根,正運算元就不能有啦?

補:運算元的平方根

如果運算元 \(R\) 滿足: \(R^2 = T\) ,則稱運算元 \(R\) 為運算元 \(T\) 的平方根。

1.3.3 正運算元的描述

正運算元 \(T\) 的描述: \(T\) 可以被一組規範正交基給對角化,且相應的本徵值非負。

請再次掏出小本本吧,同樣記下這句話的前半部分,即:正運算元 \(T\) 可以被一組規範正交基給對角化。

好了,現在我們可以解釋一下為什麼 \(\sqrt{T^*T}\) 是正運算元啦!

我們說,對於復向量空間上的任意運算元 \(T\) 而言, \(T^*T\) 都是正運算元(不信的話用定義法去驗證一下哈~),由先前我們對正運算元的刻畫:可以用 \(\sqrt{T^*T}\) 來表示 \(T^*T\) 唯一的那個正平方根(即這個平方根也是一個正運算元)。

奇異值分解 Singular Value Decomposition(SVD)

極分解把復向量空間上的任意運算元 \(T\) 給分解成了一個等距同構 \(S\) 和一個正運算元 \(\sqrt{T^*T}\) 的乘積。掏出我們的小本本,看一看上面記下來的兩句話:

(1) \(S\) 可以被一組規範正交基給對角化
(2) \(\sqrt{T^*T}\) 可以被一組規範正交基給對角化

啊呀,我們猜想一下,不會那樣巧合,使得兩個運算元都被同一組規範正交基給對角化了吧?沒錯,確實沒那麼巧,這意味著我們要對任意運算元 \(T\) 使用兩組基來描述啦!這就是奇異值分解的核心,即對運算元採用了兩組基來表示呀!先前我們的做法是涉及到運算元的,都一般默認變換前後都使用同一組基。

步驟1

不管三七二十一,先找一組規範正交基把 \(\sqrt{T^*T}\) 給對角化了,記這組規範正交基為 \(\{e_1, \cdots, e_n \}\) ,相應的本徵值記作 \(\{s_1, \cdots, s_n \}\)

\[\begin{aligned}
\sqrt{T^*T}
\begin{bmatrix}e_1 \cdots e_n \end{bmatrix}
&= \begin{bmatrix} \sqrt{T^*T}e_1 \cdots \sqrt{T^*T}e_n \end{bmatrix} \\
&= \begin{bmatrix} s_1e_1 \cdots s_ne_n \end{bmatrix} \\
&= \begin{bmatrix} e_1 \cdots e_n \end{bmatrix} \begin{bmatrix} s_1 \\ & \ddots \\ & & s_n \\ \end{bmatrix}
\end{aligned}\\
\]

步驟2

在上一步的基礎上,左右兩邊同時左乘等距同構 \(S\)

\[\begin{aligned}
S \sqrt{T^*T}
\begin{bmatrix}e_1 \cdots e_n \end{bmatrix}
&= S \begin{bmatrix} e_1 \cdots e_n \end{bmatrix} \begin{bmatrix} s_1 \\ & \ddots \\ & & s_n \\ \end{bmatrix} \\
&= \begin{bmatrix} Se_1 \cdots Se_n \end{bmatrix} \begin{bmatrix} s_1 \\ & \ddots \\ & & s_n \\ \end{bmatrix} \\
&= \begin{bmatrix} f_1 \cdots f_n \end{bmatrix} \begin{bmatrix} s_1 \\ & \ddots \\ & & s_n \\ \end{bmatrix}
\end{aligned}\\
\]

回憶一下等距同構的刻畫的(1),正是第三個等號成立的原因呀:規範正交基 \(\{e_1, \cdots, e_n \}\)\(S\) 作用後仍然是規範正交基 \(\{f_1, \cdots, f_n \}\) ,這樣就出現了第二組基。

進一步化簡:

\[\begin{aligned}
T \begin{bmatrix}e_1 \cdots e_n \end{bmatrix}
&= \begin{bmatrix} f_1 \cdots f_n \end{bmatrix} \begin{bmatrix} s_1 \\ & \ddots \\ & & s_n \\ \end{bmatrix}
\end{aligned}\\
\]

兩邊同時右乘 \(\begin{bmatrix}e_1 \cdots e_n \end{bmatrix}^{-1}\) ,得到:

\[T
= \begin{bmatrix} f_1 \cdots f_n \end{bmatrix} \begin{bmatrix} s_1 \\ & \ddots \\ & & s_n \\ \end{bmatrix} \begin{bmatrix}e_1 \cdots e_n \end{bmatrix}^{-1}\\
\]

換用簡單的大寫符號來表示這些元素都明著寫出來的矩陣,得到:

\[T = U \Sigma V^{-1}\\
\]

結語 Epilogue

以下兩點相當明顯的事實值得挑明(因為這對剛接觸的人來說可能並不那樣顯然):

(1) \(\begin{bmatrix}e_1 \cdots e_n \end{bmatrix}^{-1}\) ,即矩陣 \(V^{-1}\) 就是等距同構的逆 \(S^{-1}\) 的矩陣,由於 \(S^{-1} = S^*\) ,故上式中的 \(V^{-1}\) 還可以寫作 \(V^*\) 。矩陣 \(V^*\) 作用的目的在於(或稱這個矩陣的「方向」在於)輸入一個屬於任意坐標系統的向量,給出該向量在規範正交基 \(\{e_1, \cdots, e_n \}\) 下的坐標系統的重新(等價)表述。

(2) \(\begin{bmatrix} f_1 \cdots f_n \end{bmatrix}\) ,即矩陣 \(U\) 作用的目的在於,把原輸入向量經運算元 \(T\) 變換後的輸出向量在規範正交基 \(\{f_1, \cdots, f_n \}\) 下的坐標系統的重新(等價)表述,重新變回其在任意坐標系統下的等價表述。

由上述(1)中的等價關係,我們給出本文的最終目標,即復向量空間上運算元奇異值分解最終的矩陣表述形式:

\[T = U \Sigma V^{*}\\
\]