線性算子的矩陣表示法 (Matrix Representations of Linear Operators)
本系列文章內容參考自經典教材 Elementary Linear Algebra (Pearson New International Edition)。本文對應章節:Ch4-5 Matrix Representations of Linear Operators。
線性算子 (Linear Operator)
當一個線性變換的定義域 (domain) 和對應域 (codomain) 是同一個向量空間時,這個變換有一個特別的名字:
線性算子 (Linear Operator):一個從向量空間 V 到自己 V 的線性變換 T:V→V。
常見的線性算子包括:
| 算子 | 描述 | 例子 |
|---|
| 旋轉 (Rotation) | 將向量繞原點旋轉某個角度 | R2 中繞原點旋轉 θ 度 |
| 反射 (Reflection) | 將向量相對於某軸或平面反射 | 相對於 x 軸的反射 |
| 伸縮 (Scaling) | 沿各方向放大或縮小 | 將所有向量放大 2 倍 |
| 剪切 (Shear) | 沿某方向「傾斜」空間 | 沿 x 方向的剪切變換 |
| 投影 (Projection) | 將向量投影到子空間 | 投影到某平面 |
雖然「線性算子」是「線性變換」的特例,但「算子」強調的是「在同一個空間內的操作」。
這個區別在實際應用中很重要:因為輸入和輸出在同一空間,我們可以討論「重複作用」(如 T2=T∘T)、 「特徵值與特徵向量」等概念。
核心問題:如何用矩陣表示線性算子?
回顧:標準矩陣
在 Rn 中,每個線性變換 T:Rn→Rm 都可以用一個 m×n 矩陣 A 來表示:
T(x)=Ax
這個矩陣稱為 T 的標準矩陣 (Standard Matrix),它的 columns 就是 T(e1),T(e2),…,T(en),其中 {e1,…,en} 是標準基底。
新問題
如果我們選擇一個非標準的基底 B,線性算子 T 對應的矩陣會是什麼?
同一個向量在不同基底下有不同的座標表示。同樣地,同一個線性算子在不同基底下也會有不同的矩陣表示。
我們將這個「相對於基底 B 的矩陣」記作 [T]B。
建構 [T]_B 的三步驟
讓我們透過一個具體範例,一步步理解如何求出線性算子相對於某個基底的矩陣表示。
範例:反射變換
設 T:R2→R2 是相對於直線 y=x 的反射變換。
T 的標準矩陣為:
A=[0110]
(可驗證:T[10]=[01],T[01]=[10])
設 B={b1=[11],b2=[1−1]} 是 R2 的另一組基底。
目標:求 [T]B。
下圖展示了這個範例的幾何意義與三步驟的計算結果:

Step 1:在原座標系做變換
首先,計算 T 對基底向量 b1,b2 的作用(這裡的輸入輸出都是標準座標):
T(b1)=Ab1=[0110][11]=[11]
T(b2)=Ab2=[0110][1−1]=[−11]
幾何理解:
- b1=[11] 在直線 y=x 上,反射後不動:T(b1)=b1
- b2=[1−1] 垂直於直線 y=x,反射後方向相反:T(b2)=−b2
Step 2:把 T(b_i) 轉成 B 座標
現在我們需要把 T(b1) 和 T(b2) 表示成 B 座標。
回顧座標向量的公式:
[v]B=PB−1v
其中 PB=[b1 b2]=[111−1] 稱為基底矩陣。
計算 PB−1:
PB−1=(1)(−1)−(1)(1)1[−1−1−11]=−21[−1−1−11]=[1/21/21/2−1/2]
將 T(b1) 和 T(b2) 轉換成 B 座標:
[T(b1)]B=PB−1T(b1)=[1/21/21/2−1/2][11]=[10]
[T(b2)]B=PB−1T(b2)=[1/21/21/2−1/2][−11]=[0−1]
驗證:
- [T(b1)]B=[10] 表示 T(b1)=1⋅b1+0⋅b2=b1 ✓
- [T(b2)]B=[0−1] 表示 T(b2)=0⋅b1+(−1)⋅b2=−b2 ✓
Step 3:排成矩陣 [T]_B
將上面得到的座標向量作為 columns 排列,就得到 [T]B:
[T]B=[[T(b1)]B[T(b2)]B]=[100−1]
在基底 B 下,反射變換的矩陣表示竟然是對角矩陣!
這比標準矩陣 A=[0110] 簡潔多了。
對角線上的 1 和 −1 直接告訴我們:
- 沿 b1 方向不變(乘以 1)
- 沿 b2 方向反向(乘以 -1)
這就是「選對基底讓問題變簡單」的威力!
歸納公式:如何計算 [T]_B
從上面的範例,我們可以歸納出計算 [T]B 的一般步驟:
三步驟方法
設 T:V→V 是線性算子,B={b1,…,bn} 是基底,A 是 T 的標準矩陣。
| 步驟 | 操作 | 說明 |
|---|
| Step 1 | 計算 T(bi)=Abi | 在標準座標下做變換 |
| Step 2 | 計算 [T(bi)]B=PB−1T(bi) | 把結果轉成 B 座標 |
| Step 3 | 排成矩陣 [T]B=[[T(b1)]B⋯[T(bn)]B] | 座標向量作為 columns |
如何使用 [T]_B
上面我們學會了如何建構 [T]B(用基底向量的輸出來建立矩陣)。
現在來看如何使用 [T]B(用這個矩陣來變換任意向量)。
核心公式
一旦有了 [T]B,對於任意向量 v∈V,我們可以這樣計算 T(v) 的 B 座標:
[T(v)]B=[T]B⋅[v]B
符號釐清
| 符號 | 意義 | 類型 |
|---|
| [T]B | T 相對於基底 B 的矩陣表示 | n×n 矩陣(變換用的工具) |
| [v]B | v 在基底 B 下的座標向量 | n×1 向量(輸入) |
| [T(v)]B | T(v) 在基底 B 下的座標向量 | n×1 向量(輸出) |
白話解讀:「T(v) 的 B 座標」等於「T 的 B 矩陣」乘以「v 的 B 座標」。
[T]B 就是「直接在 B 座標系裡做 T 的運算」。
- 輸入:[v]B(v 的 B 座標)
- 輸出:[T(v)]B(T(v) 的 B 座標)
- 過程:乘以矩陣 [T]B
整個運算都在 B 座標系裡完成,不需要回到標準座標!
公式推導:[T]_B = B^(-1) A B
觀察計算過程
回顧上面的範例,我們做了什麼:
[T(bi)]B=PB−1⋅T(bi)=PB−1⋅A⋅bi
將所有 i 合起來考慮(把基底向量排成矩陣 PB):
[T]B=[[T(b1)]B⋯[T(bn)]B]=PB−1A[b1⋯bn]
因為 [b1⋯bn]=PB,我們得到:
[T]B=PB−1APB
或者用更簡潔 的記號(設 B=PB):
[T]B=B−1AB
驗證範例的公式
讓我們用公式驗證之前的結果:
B=PB=[111−1],B−1=[1/21/21/2−1/2],A=[0110]
[T]B=B−1AB=[1/21/21/2−1/2][0110][111−1]
先算 AB:
AB=[0110][111−1]=[11−11]
再算 B−1(AB):
B−1AB=[1/21/21/2−1/2][11−11]=[100−1]✓
與前面三步驟方法得到的結果一致!
反向公式
從 [T]B=B−1AB,我們也可以反推:
A=B⋅[T]B⋅B−1
這告訴我們:已知某個基底下的矩陣表示 [T]B,可以還原出標準矩陣 A。
相似矩陣 (Similar Matrices)
若存在可逆矩陣 P 使得:
B=P−1AP
則稱矩陣 A 和 B 是相似的 (Similar),記作 A∼B。
相似矩陣的幾何意義
從我們的推導可知:
相似矩陣代表同一個線性算子在不同基底下的表示。
- A 是算子 T 的標準矩陣
- [T]B=B−1AB 是 T 相對於基底 B 的矩陣
- 它們是相似的,因為它們描述的是同一個變換,只是「觀察角度」(基底)不同
相似矩陣的性質
既然相似矩陣代表同一個變換,它們共享許多重要的代數性質:
| 性質 | 說明 |
|---|
| 行列式 | det(A)=det(B) |
| 跡 (Trace) | tr(A)=tr(B) |
| 秩 (Rank) | rank(A)=rank(B) |
| 特徵值 | A 和 B 有相同的特徵值 |
| 可逆性 | A 可逆 ⇔ B 可逆 |
尋找「好」的基底,使得線性算子的矩陣表示盡可能簡單(例如對角矩 陣),是線性代數的核心課題之一。
這就是對角化 (Diagonalization) 的目標——找到一組基底使得 [T]B 是對角矩陣。
在反射變換的例子中,我們恰好選到了讓 [T]B 成為對角矩陣的基底!
知道基底的輸出,就知道整個變換
現在我們有了 [T]B=B−1AB 這個公式,可以討論一個更深刻的問題:
假設變換 T 是未知的,但我們知道 T 把某幾個向量送到哪裡:
T(b1)=u1,T(b2)=u2,T(b3)=u3我們能不能完全確定這個變換 T?
答案是 Yes,但有一個關鍵前提:
{b1,b2,b3} 必須是一組 基底 (Basis)。
為什麼?
因為基底是空間的「骨架」。知道骨架(基底向量)去哪裡了,整個空間的其他向量也會跟著「線性地」移動。
具體來說:任何向量 v 都可以表示為基底的線性組合 v=c1b1+c2b2+c3b3。
既然 T 是線性的:
T(v)=c1T(b1)+c2T(b2)+c3T(b3)=c1u1+c2u2+c3u3所以,只要輸入是基底,這個變換 T 就被「鎖死」了——只有一種可能性。
範例:從基底的輸出反求變換矩陣
設 T:R2→R2 是一個未知的線性算子,B={b1=[12],b2=[35]} 是 R2 的一組基底。
已知:
T(b1)=[21],T(b2)=[03]
目標:求 T 的標準矩陣 A。
Solution:
步驟 1:先求 [T]B
把 T(b1) 和 T(b2) 轉成 B 座標:
B=PB=[1235]
計算 B−1(使用 2×2 反矩陣公式):
B−1=(1)(5)−(3)(2)1[5−2−31]=−11[5−2−31]=[−523−1]
[T(b1)]B=B−1T(b1)=[−523−1][21]=[−73]
[T(b2)]B=B−1T(b2)=[−523−1][03]=[9−3]
所以:
[T]B=[−739−3]
步驟 2:用反向公式求標準矩陣 A
A=B⋅[T]B⋅B−1
先算 B⋅[T]B:
B⋅[T]B=[1235][−739−3]=[−7+9−14+159−918−15]=[2103]
再乘 B−1:
A=[2103][−523−1]=[−10160]
驗證:檢查 Ab1=T(b1):
Ab1=[−10160][12]=[−10+121+0]=[21]=T(b1)✓
範例:計算 [T]_B(非標準基底)
設 T:R3→R3 是線性算子,其標準矩陣為:
A=101210011
設 B=⎩⎨⎧b1=100,b2=110,b3=111⎭⎬⎫
求 [T]B。
Solution:
使用公式 [T]B=B−1AB。
步驟 1:寫出基底矩陣 B
B=100110111
步驟 2:計算 B^-1
由於 B 是上三角矩陣,可以用 row reduction 或觀察法求逆。
B−1=100−1100−11
(可驗證 BB−1=I)
步驟 3:計算 AB
AB=101210011100110111=101311322
步驟 4:計算 B^-1(AB)
[T]B=B−1AB=100−1100−11101311322
=1−00−113−11−113−22−22=1−11201102