十四、一些有趣的線性變換

1. 定義

我們已經學習了矩陣的加法和數乘,那麼,線性變換的加法和數乘呢?線性變換的加法和數乘實際上就是矩陣的加法和數乘。

假設:

T: R^n \mapsto R^m, \; \; S: R^n \mapsto R^m

T(\vec{x}) = \underset{m \times n}{\mathbf{A}} \vec{x}, \;\; S(\vec{x}) = \underset{m \times n}{\mathbf{B}} \vec{x}

那麼:

(T+S)(\vec{x}) = T(\vec{x}) + S(\vec{x})

(cT)(\vec{x}) = c(T(\vec{x}))

2. 證明

\begin{align*} T(\vec{x}) + S(\vec{x}) &= A \vec{x} + B \vec{x}\\ &= x_1 \vec{a_1} + x_2 \vec{a_2} + \cdots + x_n \vec{a_n} + x_1 \vec{b_1} + x_2 \vec{b_2} + \cdots + x_n \vec{b_n} \\ &= x_1 (\vec{a_1} + \vec{b_1}) + x_2 (\vec{a_2} + \vec{b_2}) + \cdots + x_n (\vec{a_n} + \vec{b_n}) \\ &= (A + B) \vec{x} \\ &= (T + S)(\vec{x}) \end{align*}

\begin{align*} (cT)(\vec{x}) &= (cA) \vec{x} \\ &= (c \vec{a_1} + c \vec{a_2} + \cdots + c \vec{a_n}) \vec{x} \\ &= x_1 c \vec{a_1} + x_2 c \vec{a_2} + \cdots + x_n c \vec{a_n} \\ &= c (x_1 \vec{a_1} + x_2 \vec{a_2} + \cdots + x_n \vec{a_n})\\ &= c (T(\vec{x})) \end{align*}

3. 通過線性變換的加法和數乘,構造一些有趣的變換

3.1 假如將R2空間中的三角形或任意圖形沿Y軸翻轉,且在Y軸方向上伸長兩倍,那麼,經過變換,x變成-x,y變成2y:

T \left ( \begin{bmatrix} x\\ y \end{bmatrix} \right ) = \begin{bmatrix} -x\\ 2y \end{bmatrix}

T變換的變換矩陣爲:

\begin{bmatrix} -1 & 0\\ 0 & 2 \end{bmatrix}

上面的一個變換可以拆開成兩個變換麼?實際上可以拆開成:

變換1:沿Y軸翻轉,變換矩陣爲

\mathbf{A} = \begin{bmatrix} -1 & 0\\ 0 & 1 \end{bmatrix}

變換2:在Y軸方向伸長兩倍,變換矩陣爲

\mathbf{B} = \begin{bmatrix} 1 & 0\\ 0 & 2 \end{bmatrix}

T變換的變換矩陣實際是BA相乘:

\begin{align*} \mathbf{C} &= \mathbf{B} \mathbf{A} \\ &= \begin{bmatrix} -1 & 0\\ 0 & 2 \end{bmatrix} \end{align*}

3.2 旋轉變換

旋轉變換爲線性變換,因此可以將旋轉變換表示成矩陣向量積:

Rot_{\theta} (\vec{x}) = \mathbf{A} \vec{x}

變換矩陣A又可以用單位矩陣來表示,比如R2中的A可以表示爲:
\begin{align*} \mathbf{A} &= \begin{bmatrix} Rot_{\theta}(\vec{e_1}) & Rot_{\theta}(\vec{e_2}) \end{bmatrix}\\ &= \begin{bmatrix} Rot_{\theta}(\begin{bmatrix} 1\\ 0 \end{bmatrix}) & Rot_{\theta}(\begin{bmatrix} 0\\ 1 \end{bmatrix}) \end{bmatrix}\\ &= \begin{bmatrix} \cos \theta & -\sin \theta \\ \sin \theta & \cos \theta \end{bmatrix} \end{align*}

比如R3中繞X軸旋轉的A可以表示爲:

\mathbf{A} = \begin{bmatrix} 1 & 0 & 0\\ 0 & \cos \theta & -\sin \theta\\ 0 & \sin \theta & \cos \theta \end{bmatrix}

4. 單位向量

長度爲1的向量稱爲單位向量。向量的長度,某種程度上,是畢達哥拉斯定理(勾股定理)的推廣。

單位向量在作某些變換的時候非常有用。那麼,如何構造單位向量呢?假設非單位向量爲:

\vec{v} = \begin{bmatrix} v_1\\ v_2\\ \cdots\\ v_n \end{bmatrix}

如果想把v變成單位向量u,那麼:

\vec{u} = \frac{1}{\left \| \vec{v} \right \|} \vec{v}

證明過程如下:

\begin{align*} \left \| \vec{u} \right \| &= \left \| \frac{1}{\left \| \vec{v} \right \|} \vec{v} \right \|\\ &= \frac{1}{\left \| \vec{v} \right \|} \left \| \vec{v} \right \|\\ &= 1 \end{align*}

表示單位向量時,字母上面的箭頭可以由尖號代替,例如:

\vec{u} \rightarrow \hat{u}

5. 向量到直線的投影

向量x到直線L的投影,即垂直於直線L的光,照在向量x上,然後在直線L上形成的影子,邏輯上比較好理解,但是必須通過更數學化的定義,才能求出投影。

更加數學化的定義:一個向量x在直線L上的投影,是L上的某個向量,假設該向量爲Projection_l(\vec{x}),那麼,\vec{x} - Projection_l(\vec{x}) 與直線L正交。

假設直線L爲:

L = \left \{ c \vec{v} | c \in \mathbb{R} \right \}

其中,投影向量又可以表示爲:

Proj_{l}(\vec{x}) = c \vec{v}

那麼,\vec{x} - c \vec{v} 與直線L正交,意味着 \vec{x} - c \vec{v} 與直線L上的任意向量正交,根據正交的定義:

(\vec{x} - c \vec{v}) \cdot \vec{v} = 0

可以求出變量c,進而求出投影向量:

c = \frac{\vec{x} \cdot \vec{v}}{\vec{v} \cdot \vec{v}}

\begin{align*} Proj_l(\vec{x}) &= c \vec{v}\\ &= \left ( \frac{\vec{x} \cdot \vec{v}}{\vec{v} \cdot \vec{v}} \right ) \vec{v} \end{align*}

6. 投影變換

投影本質上是一種變換,且是線性變換。

直線L可以用單位向量來表示:

\hat{u} = \frac{1}{\left \| \vec{v} \right \|} \vec{v}

\begin{align*} L &= \left \{ c \vec{v} | c \in \mathbb{R} \right \}\\ &= \left \{ c (\left \| \vec{v} \right \| \hat{u}) | c \in \mathbb{R} \right \}\\ &= \left \{ (c \left \| \vec{v} \right \|) \hat{u} | c \in \mathbb{R} \right \}\\ &= \left \{ c' \hat{u} | c' \in \mathbb{R} \right \}\\ &= \left \{ c \hat{u} | c \in \mathbb{R} \right \} \end{align*}

因此,向量x到直線L的投影向量爲:

\begin{align*} Proj_l(\vec{x}) &= \left ( \frac{\vec{x} \cdot \hat{u}}{\hat{u} \cdot \hat{u}} \right ) \hat{u}\\ &= \left ( \vec{x} \cdot \hat{u} \right ) \hat{u} \end{align*}

又因爲投影變換是線性變換,因此投影變換可以表示爲矩陣向量積:

\begin{align*} Proj_l(\vec{x}) &= \left ( \vec{x} \cdot \hat{u} \right ) \hat{u} = \mathbf{A} \vec{x}\\ &= \begin{bmatrix} Proj_l(\vec{e_1}) & Proj_l(\vec{e_2}) & \cdots & Proj_l(\vec{e_n}) \end{bmatrix} \vec{x} \end{align*}

比如,在二維空間中,投影變換的變換矩陣爲:

\begin{align*} \mathbf{A} &= \begin{bmatrix} Proj_l(\vec{e_1}) & Proj_l(\vec{e_2}) \end{bmatrix}\\ &= \begin{bmatrix} Proj_l(\begin{bmatrix} 1\\ 0 \end{bmatrix}) & Proj_l(\begin{bmatrix} 0\\ 1 \end{bmatrix}) \end{bmatrix}\\ &= \begin{bmatrix} (\begin{bmatrix} 1\\ 0 \end{bmatrix} \cdot \begin{bmatrix} u_1\\ u_2 \end{bmatrix})\begin{bmatrix} u_1\\ u_2 \end{bmatrix} & (\begin{bmatrix} 0\\ 1 \end{bmatrix} \cdot \begin{bmatrix} u_1\\ u_2 \end{bmatrix})\begin{bmatrix} u_1\\ u_2 \end{bmatrix} \end{bmatrix}\\ &= \begin{bmatrix} u_1\begin{bmatrix} u_1\\ u_2 \end{bmatrix} & u_2\begin{bmatrix} u_1\\ u_2 \end{bmatrix} \end{bmatrix}\\ &= \begin{bmatrix} u_1^{2} & u_1 u_2\\ u_1 u_2 & u_2^{2} \end{bmatrix} \end{align*}

三維空間類似。

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