【線性代數】正交矩陣和格蘭姆-施密特正交化

引言

一組線性無關的向量可以張成一個向量子空間,比如向量\(\overrightarrow{e_1} = \left[ \begin{matrix} 1 \\ 2 \end{matrix} \right]\)\(\overrightarrow{e_2} = \left[ \begin{matrix} 1 \\ 0 \end{matrix} \right]\)。它們線性無關,並且能張成一個二維平面。既然如此,那麼爲什麼我們衆所周知的二維座標系是用\(\overrightarrow{i} = \left[ \begin{matrix} 1 \\ 0 \end{matrix} \right]\)\(\overrightarrow{j} = \left[ \begin{matrix} 0 \\ 1 \end{matrix} \right]\)表示,明明任意一組線性無關的2維向量都可以表示二維平面。這就引入了今天這篇筆記要講的正交矩陣,得益於正交矩陣的性質,很多運算都可以被化簡。

正交矩陣

之前的筆記中已經提到過正交向量,比如在\(R^n\)空間中兩個n維向量\(\overrightarrow{e_1}、\overrightarrow{e_2}\)垂直,稱這兩個向量正交。而且顯然,互爲正交的一組向量(除去非零向量)必然線性無關,爲此如果將一組n維正交向量放在一個矩陣中,比如\[A= \begin{equation} \left[ \begin{matrix} e1 \ e2 \end{matrix} \right] \end{equation} \]
那麼很顯然,對於矩陣A,它有如下性質:\[ \begin{equation} A^TA=\left[ \begin{matrix} e1 \\ e2 \end{matrix} \right]\left[ \begin{matrix} e1 \ e2 \end{matrix} \right]=D \end{equation} \]
矩陣\(D\)是一個對角矩陣,主對角線上的值分別對應着矩陣\(A\)中每一個列向量的模。那如果我們對矩陣A的要求更加嚴格一點,要求矩陣\(A\)中每一個列向量都是單位向量,那麼對於新的矩陣A,它有如下性質:\[ \begin{equation} A^TA=I \end{equation} \]
矩陣\(I\)是2維單位矩陣,注意,這裏的矩陣\(A\)並不方陣。既然提到方陣,我們對矩陣\(A\)的要求更加嚴格一些,即要求它爲方陣,我們記爲\(Q\).對於\(Q\)
\[ \begin{equation} \left \{ \begin{array}{lr} Q^TQ=I \\ Q^T=Q^{-1} \end{array} \right. \end{equation} \]
我們稱(4)中的矩陣\(Q\)正交矩陣它是一個方陣,並且列向量之間兩兩正交,每個列向量都是單位向量。

正交矩陣舉例

下面舉幾個正交矩陣的例子,\[ \left[ \begin{matrix} 1 & 0 \\ 0 & 1 \end{matrix} \right] \]
又或者\[ \frac{1}{2}\left[ \begin{matrix} 1 & 1 & 1 & 1\\ 1 & -1 & 1 & -1\\ 1 & 1 & -1 & -1\\ 1 & -1 & -1 & 1 \end{matrix} \right] \]

如何獲得一個正交矩陣

因爲一些原因,我們通常希望能夠獲得一個正交矩陣,但是很不巧,我們只有那個矩陣的"低級版本",所有我們應該做些什麼工作來獲得一個正交矩陣。

將一個普通的方陣\(A\)轉成正交矩陣,意味着要將\(A\)中的列向量變成線性無關的單位向量。所以主要流程就是兩步:正交化和單位化

比較好用的一種辦法是格蘭姆-施密特正交化,下面以一個例子來演示它的流程。

二維空間

先來個簡單點的情況,假設有一個2x2的矩陣\[A= \left[ \begin{matrix} 3 & 2 \\ 4 & 1 \end{matrix} \right] \]

第一步:正交化

矩陣\(A\)中包含兩個列向量,\(\overrightarrow{e_1} = \left[ \begin{matrix} 3 \\ 4 \end{matrix} \right]\)\(\overrightarrow{e_2} = \left[ \begin{matrix} 2 \\ 1 \end{matrix} \right]\)

我們希望轉化後的2個列向量正交,那麼我可以從原來的2個列向量中先任取一個向量比如\(\overrightarrow{e_1} = \left[ \begin{matrix} 3 \\ 4 \end{matrix} \right]\)固定爲\(\overrightarrow{q_1}\),那麼剩下的目標就是將另外一個向量\(\overrightarrow{e_2}\)轉化爲與\(\overrightarrow{q_2}\),令它與\(\overrightarrow{q_1}\)正交。所以,我們先來寫出正交化的第一步,即確定一個"固定"向量\[ \begin{equation} \overrightarrow{q_1} = \overrightarrow{e_1} \end{equation} \]

然後現在怎麼得到一個\(\overrightarrow{q_2}\)?其實圖上已經畫出來了,如果將向量\(\overrightarrow{e_2}\)往向量\(\overrightarrow{e_1}\)投影先得到一個向量\(\overrightarrow{f}\),那麼向量\(\overrightarrow{e_2} - \overrightarrow{f}\)是不是顯然與\(\overrightarrow{e_1}\)正交。那麼第二步就是:\[ \begin{equation} \overrightarrow{q_2} = \overrightarrow{e_2} - \overrightarrow{f},\ \ 其中\overrightarrow{f}爲\overrightarrow{e_2}往\overrightarrow{q_1}的投影向量 \end{equation} \]
相信這個已經十分熟悉了,忘記的話可以回顧如何得到一個投影矩陣這篇筆記。\[ \begin{equation} f = \frac{e_1^{\mathrm{T}}e_2}{e_1^{\mathrm{T}}e_1}e_1 \end{equation} \]
由(6)、(7)可以確定向量\(\overrightarrow{q_2}\)\[ \begin{equation} q_2 = e_2 - \frac{q_1^{\mathrm{T}}e_2}{q_1^{\mathrm{T}}q_1}q_1 \end{equation} \]
正交化到這裏就結束了,我們代入例子算一下,得到變化後的矩陣爲:\[ A' = \left[ \begin{matrix} 3 & \frac{4}{5} \\ 4 & \frac{-3}{5} \end{matrix} \right] \]
可以驗證兩個列向量是正交的了。

第二步:單位化

這步就是將每個列向量的模變爲1,拿\(\overrightarrow{q_1} = \left[ \begin{matrix} 3 \\ 4 \end{matrix} \right]\)舉例,單位化後的向量爲:
\[ \frac{1}{\sqrt{3^2+4^2}}\left[ \begin{matrix} 3 \\ 4 \end{matrix} \right]=\left[ \begin{matrix} \frac{3}{5} \\ \frac{4}{5} \end{matrix} \right] \]
而另一個向量\(\overrightarrow{q_2}\)已經是單位矩陣,所以不用單位化,因此通過格蘭姆-施密特正交化最終得到的單位矩陣\[ Q = \left[ \begin{matrix} \frac{3}{5} & \frac{4}{5} \\ \frac{4}{5} & \frac{-3}{5} \end{matrix} \right] \]

正交化過程並不改變矩陣的對應的列空間,顯然張成的平面仍是二維平面。

三維空間

對於二維空間,確定1個固定的向量後,只要將另外一個向量往其上面投影再相減就能完成正交化過程了。但是在三維空間中,一共有3個列向量,應該怎麼做?

三維空間中的正交化過程

其實流程也是異曲同工。假設需要單位正交化的矩陣爲\(A = \left[ \begin{matrix} e_1 \ e_2 \ e_3 \end{matrix} \right]\)

  1. 第一步:固定一個向量\(q_1 = e_1\)
  2. 第二步:將第2個向量往\(q_1\)上投影,\[q_2 = e_2 - \frac{q_1^{\mathrm{T}}e_2}{q_1^{\mathrm{T}}q_1}q_1\]
  3. 第三步:將第3個向量\(e_3\)減去\(q_1\)方向上的投影向量,再減去\(q_2\)方向上的投影向量,即\[q_3=e_3 - \frac{q_1^{\mathrm{T}}e_3}{q_1^{\mathrm{T}}q_1}q_1 - \frac{q_2^{\mathrm{T}}e_3}{q_2^{\mathrm{T}}q_2}q_2\]

接下來單位化即可,不過多贅述。覺得第3步有些抽象的朋友可以找3只筆試一下,兩隻筆垂直放置在平面上,第3只筆與平面呈一定角度。這樣減去兩個方向的投影向量後,一定能得到垂直與平面的一個向量。而且也可以通過\(q_3^Tq_2=0\)\(q_3^Tq_1=0\)來驗證。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章