引言
一組線性無關的向量可以張成一個向量子空間,比如向量\(\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]\)
- 第一步:固定一個向量\(q_1 = e_1\)
- 第二步:將第2個向量往\(q_1\)上投影,\[q_2 = e_2 - \frac{q_1^{\mathrm{T}}e_2}{q_1^{\mathrm{T}}q_1}q_1\]
- 第三步:將第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\)來驗證。