基底變換

本文的閱讀等級:中級

基底變換 (change of basis) 與座標變換 (change of coordinates) 是初學者最難掌握的線性代數主題之一。表面上,基底變換似乎是個莫名其妙的觀念,閒閒沒事幹,為什麼非要改變基底呢?主要原因有二,第一是為了配合應用問題,運用我們的領域知識常可以設計出較能顯現問題特性的基底。舉例來說,農業專家將農地劃分如「田」字的四個等面積區塊,再將各區塊的年收成以 2\times 2 階矩陣表示如下:

A=\begin{bmatrix}    33 & 42\\    45 & 36    \end{bmatrix}

農業專家選擇以下的基底並賦予其意義:

M_1=\begin{bmatrix}    1&1\\    1&1    \end{bmatrix},~M_2=\left[\!\!\begin{array}{rr}    1&1\\    -1&-1    \end{array}\!\!\right],~~M_3=\left[\!\!\begin{array}{rc}    -1&1\\    -1&1    \end{array}\!\!\right],~~M_4=\left[\!\!\begin{array}{rr}    -1&1\\    1&-1    \end{array}\!\!\right]

M_1 表示區塊的平均收成,M_2 測量南北梯度成分,M_3 測量東西梯度成分,M_4 則度量沿 45^{\circ} 的斜角鞍形成分。收成矩陣 A 可表示為基底的線性組合:

A=(39)M_1-(1.5)M_2+(0)M_3+(4.5)M_4

依序收集四個權重值便組合成 A 參考基底 \boldsymbol{\beta}=\{M_1,M_2,M_3,M_4\} 的係數向量或稱座標向量,記為 [A]_{\boldsymbol{\beta}},如下:

[A]_{\boldsymbol{\beta}}=\left[\!\!\begin{array}{r}    39\\    -1.5\\    0\\    4.5    \end{array}\!\!\right]

係數向量抽取出易於解讀的資訊:平均收成是 39,南北梯度成分 -1.5 並不顯著,未發現東西梯度效應,但斜角鞍形成分有 4.5 個單位。

 
基底變換的第二個目的是為了簡化線性變換的矩陣形式,從而「看清」隱藏於變換矩陣的內在結構。典型的例子如可對角化矩陣,假設 n\times n 階矩陣 A 可分解為

A=S\Lambda S^{-1}

或反過來看,

\Lambda=S^{-1}AS

矩陣 \Lambda 相似於 A,兩相似矩陣實際上就是參考不同基底的線性變換矩陣,\LambdaA 共有許多相同的性質,基底變換的好處是讓我們透過形式最簡的對角矩陣 \Lambda 認識原矩陣 A 的拉伸效果。

 
我採用傳統混和線性變換與矩陣表示兩種手段來介紹基底變換的意義及其運算機制。先聲明,這個推理過程稍嫌冗長,符號設計也有些雜亂;繼續閱讀之前,各位讀者可能需要先準備一杯提神飲料。

 
\mathcal{V} 是一個 n 維向量空間,令 \boldsymbol{\beta}_1=\{\mathbf{v}_1,\mathbf{v}_2,\ldots,\mathbf{v}_n\} 為擴張 \mathcal{V} 的一個基底。空間 \mathcal{V} 中的任意向量 \mathbf{x} 總是可表示成

\mathbf{x}=c_1\mathbf{v}_1+c_2\mathbf{v}_2+\cdots+c_n\mathbf{v}_n

實例請見“線性映射與座標變換”。(打個岔,讀者如果不喜歡這種「點點點」的記號,大可以將 n 當作 3,如此便不用理會「\cdots」。) 使用相同的基底,假如還有其他表示 \mathbf{x} 的方式

\mathbf{x}=d_1\mathbf{v}_1+d_2\mathbf{v}_2+\cdots+d_n\mathbf{v}_n

將上面兩式相減,

\begin{aligned}  \mathbf{0}&=(c_1-d_1)\mathbf{v}_1+(c_2-d_2)\mathbf{v}_2+\cdots+(c_n-d_n)\mathbf{v}_n\end{aligned}

由於 \boldsymbol{\beta}_1 包含的基底向量是線性獨立的,必有 c_i-d_i=0,換句話說,給定任意 \mathbf{x}\in\mathcal{V},有而且唯有一種以基底 \boldsymbol{\beta}_1 的表示方式。很自然地,我們將這個線性組合視為線性映射,稱為由向量空間 \mathcal{V}\mathbb{R}^n 的座標映射 (coordinates mapping):

\mathbf{x}\rightarrow [\mathbf{x}]_{\boldsymbol{\beta}_1}=\begin{bmatrix}    c_1\\    c_2\\    \vdots\\    c_n    \end{bmatrix}

座標映射是一對一 (one-to-one) 且滿射 (onto),即映射的值域充滿整個 \mathbb{R}^n。純量 c_i 稱為 \mathbf{x} 參考有序基底 \boldsymbol{\beta}_1 的座標值 (我們常加入有序一詞來規範基底向量的次序),而向量 [\mathbf{x}]_{\boldsymbol{\beta}_1}\mathbf{x} 於基底 \boldsymbol{\beta}_1 下的唯一座標表示向量。

 
再考慮線性變換 T:\mathcal{V}\rightarrow\mathcal{V},對於任意 \mathbf{x}\in\mathcal{V},以 T(\mathbf{x})T\mathbf{x} 表示映射結果,也稱為像 (image)。法統捍衛者可能不太欣賞這個的講法:T(\mathbf{x}) 強調映射,而 T\mathbf{x} 強調矩陣乘法。接下來的問題是如何求得 T\mathbf{x}?順著座標映射的結果,因為 \mathbf{x} 有唯一表示方式\mathbf{x}=c_1\mathbf{v}_1+c_2\mathbf{v}_2+\cdots+c_n\mathbf{v}_n,利用線性變換的基本性質,就有

\begin{aligned}  T\mathbf{x}&=T(c_1\mathbf{v}_1+c_2\mathbf{v}_2+\cdots+c_n\mathbf{v}_n)\\  &=c_1T\mathbf{v}_1+c_2T\mathbf{v}_2+\cdots+c_nT\mathbf{v}_n\end{aligned}

因此,給定這 n 個基底向量的像 T\mathbf{v}_1,T\mathbf{v}_2,\ldots,T\mathbf{v}_n,一旦我們知道座標向量 [\mathbf{x}]_{\boldsymbol{\beta}_1},便立即可決定 T\mathbf{x},這是線性變換搭配基底最重要的一個觀念。

 
上面介紹的這兩個觀念還不太困難,比較惱人的是當再有一個新基底冒出來時,會發生甚麼事?設 \boldsymbol{\beta}_2=\{\mathbf{w}_1,\mathbf{w}_2,\ldots,\mathbf{w}_n\}\mathcal{V} 的另一個基底,如何將前面得到的 T\mathbf{x} 表示為參考基底 \boldsymbol{\beta}_2 的座標向量?關鍵切入點在於先考慮 T\mathbf{v}_j 在基底 \boldsymbol{\beta}_2 下的座標表示向量,令

[T\mathbf{v}_j]_{\boldsymbol{\beta}_2}=\begin{bmatrix}    a_{1j}\\    a_{2j}\\    \vdots\\    a_{nj}    \end{bmatrix}

上式共有 n 個,j=1,2,\ldots,n。首先引用座標映射的線性變換基本性質,再利用矩陣乘法,推導過程如下:

\begin{aligned}  ~[T\mathbf{x}]_{\boldsymbol{\beta}_2}&=[c_1T\mathbf{v}_1+c_2T\mathbf{v}_2+\cdots+c_nT\mathbf{v}_n]_{\boldsymbol{\beta}_2}\\    &=c_1[T\mathbf{v}_1]_{\boldsymbol{\beta}_2}+c_2[T\mathbf{v}_2]_{\boldsymbol{\beta}_2}+\cdots+c_n[T\mathbf{v}_n]_{\boldsymbol{\beta}_2}\\    &=c_1\begin{bmatrix}    a_{11}\\    a_{21}\\    \vdots\\    a_{n1}    \end{bmatrix}+c_2\begin{bmatrix}    a_{12}\\    a_{22}\\    \vdots\\    a_{n2}    \end{bmatrix}+\cdots+c_n\begin{bmatrix}    a_{1n}\\    a_{2n}\\    \vdots\\    a_{nn}    \end{bmatrix}\\    &=\begin{bmatrix}    a_{11}&a_{12}&\cdots&a_{1n}\\    a_{21}&a_{22}&\cdots&a_{2n}\\    \vdots&\vdots&\ddots&\vdots\\    a_{n1}&a_{n2}&\cdots&a_{nn}    \end{bmatrix}\begin{bmatrix}    c_1\\    c_2\\    \vdots\\    c_n    \end{bmatrix}=A[\mathbf{x}]_{\boldsymbol{\beta}_1}\end{aligned}

n\times n 階矩陣 A=[a_{ij}] 由線性變換 T 和基底 \boldsymbol{\beta}_1\boldsymbol{\beta}_2 共同決定,但與 \mathbf{x} 無關,我們稱 A 是線性變換 T\boldsymbol{\beta}_1\boldsymbol{\beta}_2 基底表示矩陣,符號記作

\begin{aligned}  A&=_{\boldsymbol{\beta}_2}\!\![T]_{\boldsymbol{\beta}_1}=\begin{bmatrix}    [T\mathbf{v}_1]_{\boldsymbol{\beta}_2}&[T\mathbf{v}_2]_{\boldsymbol{\beta}_2}&\cdots&[T\mathbf{v}_n]_{\boldsymbol{\beta}_2}    \end{bmatrix}\end{aligned}

注意這個次序,\boldsymbol{\beta}_2\boldsymbol{\beta}_1 不可以隨意顛倒。整理目前得到的結果,對於任意 \mathbf{x},就有

[T\mathbf{x}]_{\boldsymbol{\beta}_2}= _{\boldsymbol{\beta}_2}\!\![T]_{\boldsymbol{\beta}_1}[\mathbf{x}]_{\boldsymbol{\beta}_1}

或圖示為

[\mathbf{x}]_{\boldsymbol{\beta}_1}  \xrightarrow[]{_{\boldsymbol{\beta}_2}\![T]_{\boldsymbol{\beta}_1}}[T\mathbf{x}]_{\boldsymbol{\beta}_2}

這是我們需要瞭解關於基底變換的第三個觀念。當問題僅有一個基底時,\boldsymbol{\beta}_2=\boldsymbol{\beta}_1,這時我們稱 _{\boldsymbol{\beta}_1}\![T]_{\boldsymbol{\beta}_1}T 參考 \boldsymbol{\beta}_1 基底的表示矩陣。

 
下面我們做一些練習以熟悉基底變換技巧,試問兩相異基底的座標向量要如何轉換,亦即,由 [\mathbf{x}]_{\boldsymbol{\beta}_1} 如何求得 [\mathbf{x}]_{\boldsymbol{\beta}_2}?考慮單位變換 I:\mathcal{V}\rightarrow\mathcal{V},對於任意 \mathbf{x}I\mathbf{x}=\mathbf{x},將上述第三個觀念當作算式:

\begin{aligned}  ~[\mathbf{x}]_{\boldsymbol{\beta}_2}&=[I\mathbf{x}]_{\boldsymbol{\beta}_2}=_{\boldsymbol{\beta}_2}\!\![I]_{\boldsymbol{\beta}_1}[\mathbf{x}]_{\boldsymbol{\beta}_1}\end{aligned}

矩陣 _{\boldsymbol{\beta}_2}\![I]_{\boldsymbol{\beta}_1} 稱為 \boldsymbol{\beta}_1\boldsymbol{\beta}_2 基底變換矩陣,計算如下:

\begin{aligned}  ~_{\boldsymbol{\beta}_2}\![I]_{\boldsymbol{\beta}_1}&=\begin{bmatrix}    [I\mathbf{v}_1]_{\boldsymbol{\beta}_2}&[I\mathbf{v}_2]_{\boldsymbol{\beta}_2}&\cdots&[I\mathbf{v}_n]_{\boldsymbol{\beta}_2}    \end{bmatrix}\\    &=\begin{bmatrix}    [\mathbf{v}_1]_{\boldsymbol{\beta}_2}&[\mathbf{v}_2]_{\boldsymbol{\beta}_2}&\cdots&[\mathbf{v}_n]_{\boldsymbol{\beta}_2}    \end{bmatrix}\end{aligned}

\boldsymbol{\beta}_1\boldsymbol{\beta}_2 的基底變換矩陣的第 j 行就是 \boldsymbol{\beta}_1 的第 j 個基底向量 \mathbf{v}_j 參考 \boldsymbol{\beta}_2 的座標向量。讀者不必強記這個結果,用到時只要想一想放入甚麼向量 \mathbf{x} 方能由下式得到矩陣 _{\boldsymbol{\beta}_2}\![I]_{\boldsymbol{\beta}_1} 的第 j 行?

[\mathbf{x}]_{\boldsymbol{\beta}_2}=_{\boldsymbol{\beta}_2}\!\![I]_{\boldsymbol{\beta}_1}[\mathbf{x}]_{\boldsymbol{\beta}_1}

當然是 [\mathbf{x}]_{\boldsymbol{\beta}_1}=(0,\ldots,0,1,0,\ldots,0),其中第 j 個元為 1,滿足此關係的向量即為 \mathbf{x}=\mathbf{v}_j

 
交換 \boldsymbol{\beta}_1\boldsymbol{\beta}_2 便得到下面的對稱關係:

\begin{aligned}  ~[\mathbf{x}]_{\boldsymbol{\beta}_1}&=[I\mathbf{x}]_{\boldsymbol{\beta}_1}=_{\boldsymbol{\beta}_1}\!\![I]_{\boldsymbol{\beta}_2}[\mathbf{x}]_{\boldsymbol{\beta}_2}\end{aligned}

因為 \mathbf{x} 是任意的,故

_{\boldsymbol{\beta}_1}\![I]_{\boldsymbol{\beta}_2}~_{\boldsymbol{\beta}_2}\![I]_{\boldsymbol{\beta}_1}=I

矩陣 _{\boldsymbol{\beta}_2}\![I]_{\boldsymbol{\beta}_1}是其反向基底變換 _{\boldsymbol{\beta}_1}\![I]_{\boldsymbol{\beta}_2} 的逆矩陣,令 S=_{\boldsymbol{\beta}_2}\!\![I]_{\boldsymbol{\beta}_1},則 S^{-1}=_{\boldsymbol{\beta}_1}\!\![I]_{\boldsymbol{\beta}_2}。由此推論任意具有 _{\boldsymbol{\beta}_2}\![I]_{\boldsymbol{\beta}_1} 形式的矩陣皆為可逆矩陣;反過來說也成立,假設 S=\begin{bmatrix}    \mathbf{s}_1&\mathbf{s}_2&\cdots&\mathbf{s}_n    \end{bmatrix} 是可逆的,\mathbf{s}_jS 的行向量,設基底 \boldsymbol{\beta}_1=\{\mathbf{s}_1,\mathbf{s}_2,\cdots,\mathbf{s}_n\}\boldsymbol{\beta}_2 為標準基底 \boldsymbol{\beta}_2=\{\mathbf{e}_1,\mathbf{e}_2,\ldots,\mathbf{e}_n\},不難驗證 S=_{\boldsymbol{\beta}_2}\!\![I]_{\boldsymbol{\beta}_1}。我要特別強調這個常被學者忽略的事實:每一個可逆矩陣都是基底變換矩陣,而每一個基底變換矩陣也都是可逆的。

 
最後我們研究在基底 \boldsymbol{\beta}_2 執行的線性變換 T 和在基底 \boldsymbol{\beta}_1 執行的線性變換有何關係?先考慮 \mathbf{x}T\mathbf{x} 於不同基底的座標變換關係

\begin{aligned}  ~[\mathbf{x}]_{\boldsymbol{\beta}_1}&=_{\boldsymbol{\beta}_1}\!\![I]_{\boldsymbol{\beta}_2}[\mathbf{x}]_{\boldsymbol{\beta}_2}\\  [T\mathbf{x}]_{\boldsymbol{\beta}_2}&=_{\boldsymbol{\beta}_2}\!\![I]_{\boldsymbol{\beta}_1}[T\mathbf{x}]_{\boldsymbol{\beta}_1}\end{aligned}

再利用

\begin{aligned}  ~[T\mathbf{x}]_{\boldsymbol{\beta}_1}&=_{\boldsymbol{\beta}_1}\!\![T]_{\boldsymbol{\beta}_1}[\mathbf{x}]_{\boldsymbol{\beta}_1}\\    [T\mathbf{x}]_{\boldsymbol{\beta}_2}&=_{\boldsymbol{\beta}_2}\!\![T]_{\boldsymbol{\beta}_2}[\mathbf{x}]_{\boldsymbol{\beta}_2}\end{aligned}

合併整理以上算式可得

\begin{aligned}  ~_{\boldsymbol{\beta}_2}\![T]_{\boldsymbol{\beta}_2}[\mathbf{x}]_{\boldsymbol{\beta}_2}&=[T\mathbf{x}]_{\boldsymbol{\beta}_2}=~_{\boldsymbol{\beta}_2}\!\![I]_{\boldsymbol{\beta}_1}~[T\mathbf{x}]_{\boldsymbol{\beta}_1}\\  &=~_{\boldsymbol{\beta}_2}\!\![I]_{\boldsymbol{\beta}_1} ~_{\boldsymbol{\beta}_1}\![T]_{\boldsymbol{\beta}_1}~[\mathbf{x}]_{\boldsymbol{\beta}_1}\\  &=~_{\boldsymbol{\beta}_2}\!\![I]_{\boldsymbol{\beta}_1} ~_{\boldsymbol{\beta}_1}\![T]_{\boldsymbol{\beta}_1} ~_{\boldsymbol{\beta}_1}\![I]_{\boldsymbol{\beta}_2}~[\mathbf{x}]_{\boldsymbol{\beta}_2}\end{aligned}

因為 [\mathbf{x}]_{\boldsymbol{\beta}_2} 是任意的,所以必定有

_{\boldsymbol{\beta}_2}\![T]_{\boldsymbol{\beta}_2}=_{\boldsymbol{\beta}_2}\!\![I]_{\boldsymbol{\beta}_1} _{\boldsymbol{\beta}_1}\![T]_{\boldsymbol{\beta}_1} _{\boldsymbol{\beta}_1}\![I]_{\boldsymbol{\beta}_2}

 
上式說明了執行於 \boldsymbol{\beta}_2 的線性變換可拆解成三個步驟:先座標變換至 \boldsymbol{\beta}_1 (_{\boldsymbol{\beta}_1}\![I]_{\boldsymbol{\beta}_2}),再以 \boldsymbol{\beta}_1 的座標向量執行線性變換 (_{\boldsymbol{\beta}_1}\![T]_{\boldsymbol{\beta}_1}),最後將結果變換回原基底 \boldsymbol{\beta}_2 (_{\boldsymbol{\beta}_2}\![I]_{\boldsymbol{\beta}_1})。我們之所以採用如此麻煩的方式實現線性變換必須要有正當的理由,最常見的原因是 _{\boldsymbol{\beta}_1}\![T]_{\boldsymbol{\beta}_1} 有非常簡單的形式,例如,對角矩陣,另一個原因是基底變換 _{\boldsymbol{\beta}_1}\![I]_{\boldsymbol{\beta}_2} 具有特殊且適合發展應用的功效,例如,傅立葉轉換將問題從時域 (time domain) 帶入頻域 (frequency domain)。最後我們用下面這張圖總結基底變換的映射關係。

Change of basis

基底變換

相關閱讀:
廣告
本篇發表於 線性變換, 線性代數專欄 並標籤為 , , 。將永久鏈結加入書籤。

8 Responses to 基底變換

  1. 迷路的行星 說道:

    老師您好,
    我是一個數學程度微積分都不熟的人,但最近工作寫CODE會用到Matrix,看到老師用心的講解,
    發現我連基本的"詞",很多都看不懂,試問該如何開始入門,了解到Matrix構成的原理跟應用。

  2. shinyjoe 說道:

    請問老師
    [Tx]B1=B1[T]B2[x]B2
    不是應該這樣嗎??
    為什麼後來會說到
    利用
    [Tx]B1=B1[T]B1[x]B1
    這個是用推導出來的嗎??
    有點看不太懂

  3. shinyjoe 說道:

    老師再麻煩一道題目一下

    B={b1,b2} C={c1,c2} B和C皆為R^2的基底
    Find the change-of-coordinates matrix from B to C

    如果單單只求座標變換矩陣要怎麼算呀??

發表迴響

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

WordPress.com Logo

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

Twitter picture

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

Facebook照片

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

Google+ photo

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

連結到 %s