1 矩陣的由來
矩陣的由來及線性變換
卓永鴻 提供
1 矩陣的由來
解方程式
3x = 7 (1)
只要在等號兩邊同乘以3−1,便有
3−1· 3x = 3−1· 7 ⇒ x = 7 3 解聯立方程式
2x + 3y = 5
x − 2y = 3 (2)
時,經常使用消去法,先試圖求解其中一個未知數,再代入求解另一個未知數。然而當
未知數較多時,例如
2x + 5y + 3z − 4w = 5
− x + y + 11z + 7w = 8 4x − 7y + 6z + 2w = −3 3x − 2y − 4z − 5w = 1
就變得相當麻煩。於是後來就有人想,能不能把這個聯立方程組寫得像式子(1)一樣 呢?以聯立方程式(2)為例,我們將它看成
AX = C (3)
其中A 是將係數全抓出來,表為 A =
2 3 1 −2
,X 是將變數抓出來,表為 X =
x y
,而 C 是常數的部份,表為 C =
5 3
。所以式子(3)即為
2 3 1 −2
x y
=
5 3
(4)
看到這個,便可明白為何矩陣乘法是列與行相乘,因為這樣才會變成(2)的形式。現仿 照式子(1)的解法,在式子(3)的等號兩邊乘上A−1,就會得到
A−1AX = A−1C ⇒ X = A−1C
如此便達到以簡御繁的效果,將原來較複雜的聯立方程表為看來較簡潔的矩陣方程。
1 矩陣的由來
不過在上述的簡介當中,為了快速讓你明白矩陣的由來,我省略了許多重要的細節 討論。以下稍放慢腳步,仔細做實數與矩陣的類比。
在實數的方程式
ax = b (5)
中,可不可以說等號兩邊同乘以 a−1,得到 x = a−1· b 呢?可以的,先決條件是 a−1 存 在,也就是a 不為 0。
在矩陣方程
AX = C (6)
中,可不可以說等號兩邊同乘以A−1,得到x = A−1· C 呢?可以的,先決條件是 A−1存 在,然而這是什麼意思呢?
在實數的情況中,a−1 究竟是什麼東西?我們這樣說:a−1 是使得a · a−1 = 1 成立的 數,我們稱a−1為 a 的乘法反元素。因為 0 乘以任何數都不會是 1,所以 a = 0 時不存 在a−1。在矩陣的情況,A−1 是什麼東西?我們這麼說:A−1是使得A · A−1 = I 成立的矩 陣。我們稱A−1為A 的 乘法反矩陣,簡稱 A 的 反矩陣。
而I 又是什麼東西?它的角色就像實數中的 1。任何實數 k 乘以 1,結果都還是 k,
我們稱1 為乘法單位元素;任何矩陣 B 乘以 I,結果都還是 B,我們稱 I 為 單位矩陣。
至於它實際寫起來長什麼樣子呢?二階的單位矩陣為 I2 =
1 0 0 1
三階的單位矩陣則為
I3 =
1 0 0 0 1 0 0 0 1
更高階的以此類推。
所以,如果我們真的在式子(6)兩邊同乘以A−1。等一下,我這樣講其實很有問題,
因為矩陣乘法並不具交換律1。我應該說:在式子(6)兩邊同時 左乘 A−1,得到 A−1(AX) = A−1C
⇒ (A−1A)X = A−1C 矩陣有結合律
⇒ IX = A−1C
⇒ X = A−1C
所以,只要A−1存在,就必能解出X =
x y
。因為是解出確定的值,所以是唯一解,不 是無限多組解。
1AB = BA 並不一定成立
1 矩陣的由來
那麼,A 的反矩陣何時存在呢?我們可以由 A 行列式 det(A) 來判斷。
若det(A) , 0 則 A−1存在;若det(A) = 0 則 A−1不存在。
性質 反矩陣存在的條件
這理由很簡單,由克拉馬法則,我們知道聯立方程式的係數來拿做行列式,行列式 值不為0 時有唯一解,而這個行列式即是我們現在討論的 det(A)。
另一個角度來看,行列式有個性質是
det(AB) = det(A) det(B)
矩陣相乘後取行列式等於各自取行列式後再相乘。所以
det(I) = 1 = det(A · A−1) = det(A) det(A−1)
這就知道若A−1 存在,則det(A) 必不為 0;反過來說,若 det(A) = 0,則 A−1 必不存 在。而且我們還順便得知了
det(A−1) = 1 det(A) 矩陣的行列式與其反矩陣的行列式互為倒數。
例題 1
設x, c 為實數,方陣 A =
3 2
− 2 x
、B =
3 −2 2 x
。已知 A 的反方陣恰好是 B 的 c 倍(其中 c , 0),則數對 (x, c) = 。
105數乙
解
1 0 0 1
= AA−1 = A(cB) = c
3 2
− 2 x
3 −2 2 x
= c
13 ∗
− 6 + 2x ∗
⇒
13c = 1
c(−6 + 2x) = 0 ⇒ (x, c) =( 3, 131 )
1 矩陣的由來
例題 2
已知
5x − 8y + z = 1 4x − 7y + z = 0 6x − 10y + z = 0
、
5x − 8y + z = 0 4x − 7y + z = 1 6x − 10y + z = 0
、
5x − 8y + z = 0 4x − 7y + z = 0 6x − 10y + z = 1
的解分別為
(3, 2, 2), (−2, −1, 2), (−1, −1, −3)。若 A =
5 −8 1 4 −7 1 6 −10 1
且AB =
1 0 0 0 1 0 0 0 1
,則矩
陣B = 。
解
所求B 其實就是 A−1,而由題意可列出
5 −8 1 4 −7 1 6 −10 1
3 2 2
=
1 0 0
、
5 −8 1 4 −7 1 6 −10 1
− 2
− 1 2
=
0 1 0
、
5 −8 1 4 −7 1 6 −10 1
− 1
− 1 3
=
0 0 1
可合併寫成
5 −8 1 4 −7 1 6 −10 1
3 −2 −1 2 −1 −1 2 2 3
=
1 0 0 0 1 0 0 0 1
這樣一看,顯然B = A−1=
3 −2 −1 2 −1 −1 2 2 3
。
例題 3
設 P、Q、R 為二階方陣,已知 PQ =
2 0 12 0
,PR =
1 3 4 12
且 Q + R =
1 0 3 3
,則 P = 。
103數乙
解 P
1 0 3 3
= P(Q + R) = PQ + PR =
2 0 12 0
+
1 3 4 12
=
3 3 16 12
⇒ P =
3 3 16 12
1 0 3 3
−1
= 13
3 3 16 12
3 0
− 3 1
=
0 1 4 4
2 線性變換
2 線性變換
以下再介紹矩陣所對應的線性變換,但線性變換本身卻不是目的,只是幫助更理解 矩陣的手段。所以縱使你是社會組同學,學測與指考都不會考到線性變換那一節,仍然 可以閱讀本文。而自然組的同學想完整學習高中的線性變換矩陣,反而無法達成你的目 的,因為我不是想完整介紹那一節。
一個變換T(x) : x → y 若滿足
1. 對於任意a, b 皆有 T(a + b) = T(a) + T(b) 2. 對於任意a 及常數 c 皆有 T(c · a) = c · T(a) 則T(x) 為一線性變換。
定義 線性變換的定義
這 定 義 不 須 要 記,只 是 寫 出 來 讓 你 明 白,看 完 忘記可也。
口語來說,先相加再變換,必等於先各自變換再相加;先常數倍再變換,必等於先 變換再常數倍。
例如旋轉就是一種線性變換:先旋轉30◦,再旋轉50◦,等於一口氣旋轉80◦;旋轉 30◦ 三次,等於一口氣旋轉 90◦。函數 y = f (x) = mx 就是一種線性變換: f (a + b) = m(a + b) = ma + mb = f (a) + f (b); f (c · a) = m(ca) = cma = c · f (a)。函數 y = sin(x) 不是 線性變換,因為sin(30◦+ 50◦) 不會等於 sin(30◦) + sin(50◦)。
矩陣與線性變換的關聯是:任何線性變換,都必可找到一個相應的矩陣,來表示這 個線性變換。反過來說也對,每一個矩陣都代表了某一種線性變換。
在高中的矩陣主題中,便介紹了幾種線性變換:推移、伸縮、旋轉、鏡射,仔細想 想,它們的確都滿足上述定義。
另外,矩陣的列運算其實也滿足線性變換的定義!所以我們可以找到矩陣來代表列 運算。例如將第一列乘以2 再加到第二列
1 2 3 4
→
1 2 5 8
我們可表示成
1 0 2 1
1 2 3 4
=
1 2 5 8
所以我們可以這麼說,
1 0 2 1
是一種列運算矩陣,它是將第一列的兩倍加到第二列。
而認識列運算矩陣有什麼用呢?我們可以用來理解一個求解反矩陣很好用的辦法!這個
2 線性變換
辦法無論是幾階的矩陣都適用,以下為簡便我用二階方陣來示意:
3 4 1 0 2 3 0 1
→
1 1 1 −1 2 3 0 1
→
1 1 1 −1 0 1 −2 3
→
1 0 3 −4 0 1 −2 3
⇒
3 4 2 3
−1
=
3 −4
− 2 3
這個過程的意思是:為了求A =
3 4 2 3
的反矩陣,我們先將 A 與單位矩陣 I 寫一起,
寫成[ A I]
。接著作列運算,試圖將左邊的A 列運算成 I,而右邊的 I 同時做一樣的列 運算,等左邊順利變成I,看看此時的[
I B]
,右邊那個B 就是我們要的 A−1了!
為什麼會這樣呢?剛剛才介紹,列運算可以想成被一個列運算矩陣乘上去,所以一 開始的A,列運算一次後,可以看成 E1A,再列運算一次,可以看成 E2E1A,等到列 運算成I 以後,可以看成 I = En· · · E2E1A,而原本在右邊的 I,因為在過程中都一起 做相同的列運算,所以它變成En· · · E2E1I,也就是說 B = En· · · E2E1。可是上面已經討 論出I = En· · · E2E1A,現在又說 B = En· · · E2E1,所以代入便得 I = BA,這樣便看出 B = A−1!
寫了一大堆E 也許你看得眼花撩亂,那麼我講得更簡潔些。線性變換都可以有矩陣 來表示,當左邊的A 被我們變成 I,我們可以想成它被乘上一個矩陣。當然這個矩陣就 是A−1,才會乘完變 I 嘛。而因為右邊的 I 也經過一樣的操作,所以右邊的 I 也乘了一 樣的矩陣:A−1· I,所以最後的右邊那矩陣即是 A−1。
討論完後,我們可下此結論:想得知某個線性變換所對應的矩陣,我們就把這個變 換作用到I 上面,這樣就出來了。
舉剛剛我說
1 0 2 1
是一種列運算矩陣為例。我想知道將第一列的兩倍加到第二列,
這個動作對應的矩陣,我就把I =
1 0 0 1
拿來做一次「將第一列兩倍加到第二列」的動 作,這樣就得到
1 0 2 1
了。
再以伸縮矩陣為例,平面上一點P(x, y) 如果我們想做 x 伸縮 3 倍、y 伸縮 −2 倍,變 成P′(3x, −2y) 這樣的伸縮矩陣要怎麼寫呢?這個動作是
x y
→
3x
− 2y
是一個「第一列變3 倍、第二列變 −2 倍」的動作,我們將同樣的動作作用在 I =
1 0 0 1
上面,就得到
3 0 0 −2
!
2 線性變換
v1= (−0.6, 1)
Av1= (−1.8, −2)
v2= (1, −1.5) Av2= (3, 3)
A
A
再以推移矩陣為例,平面上一點P(x, y) 如果我們想做沿 x 推移 y 座標的 3 倍,變成 P′(x + 3y, y),這樣的推移矩陣要怎麼寫呢?這個動作是
x y
→
x + 3y y
是一個「將第二列三倍加到第一列」的動作,我們將同樣的動作作用在I =
1 0 0 1
上 面,就得到
1 3 0 1
!
v1= (−1, 1) Av1= (2, 1)
v2= (2, −1) Av2= (−1, −1)
A
A
矩陣即線性變換、線性變換即矩陣 注意
1. 單位矩陣I 即恆等變換,任何 P(x, y) 被乘上 I 後坐標不變。
1 0 0 1
x y
=
x y
2. 零矩陣O 即零變換,任何 P(x, y) 被乘上 O 後必變成 (0, 0)。
0 0 0 0
x y
=
0 0
2 線性變換
3. A2也是一種變換,它等於做A 的變換做兩次。例如 A 若是旋轉 30◦ 的矩陣,那麼 A2 就是旋轉兩次,即一口氣旋轉60◦;又例如A 是 x 坐標伸縮 3 倍的伸縮矩陣,
那麼A2就是x 坐標伸縮 3 倍兩次,即 x 坐標一口氣伸縮 9 倍的伸縮矩陣。
v A2v Av
30◦ 30◦
4. AB 也是一種變換,它等於先被 B 變換,再被 A 變換。例如 B 是將 x, y 坐標互換 的變換、A 是投影到 x 軸的變換。則 B =
0 1 1 0
, A =
1 0 0 0
2。如果P(x, y) 先 被x, y 坐標互換,得到 P′(y, x),再投影到 x 軸上,得 P′′(y, 0)。而如果用矩陣乘法
1 0 0 0
0 1 1 0
x y
=
1 0 0 0
y x
=
y 0
果然AB 等於先變換 B 再變換 A。
v = (2, −1) Bv = (−1, 2)
ABv = (−1, 0) A B
AB
5. 承上,如果我們改變變換的順序,先將P(x, y) 投影到 x 軸上,得到 P1(x, 0),在做 x, y 坐標互換,得到 P2(0, x)。做完變換的結果與剛剛不相等,用矩陣乘法就是
0 1 1 0
1 0 0 0
x y
=
0 1 1 0
x 0
=
0 x
果然AB , BA。
v = (2, −1)
Bv = (2, 0) BAv = (0, 2)
A B BA
2A 為什麼這樣寫?P(x, y) 投影到 x 軸等於是直接將其 y 坐標歸零,得到 P′(x, 0)。
2 線性變換
6. A−1 也是一種變換,它是A 的反變換。因為 A−1A = I,就是說先被 A 變換,再被 A−1變換,等同於被I 變換,即不變。例如 A 是旋轉 30◦的旋轉矩陣,那麼A−1就 是旋轉−30◦ 的旋轉矩陣;如果A 是 x 方向伸縮 2 倍的伸縮矩陣,那麼 A−1 就是x 方向伸縮 1
2 倍的伸縮矩陣。
v = A−1(Av)
Av A−1
A
例題 4
下列何者正確?
(A)若A2 = O,則 A = O (B)若A2 = I,則 A = ±I
(C)若A2 = A,則 A = IorO (D)若AB = O,則 A = OorB = O (E)若A2 = B2,則A = ±B
解
(A) 如果變換兩次等同於零變換,那麼該變換本身必是零變換嗎?不一定,如果這 個變換是「先投影到x 軸上,再 x, y 坐標互換」,那麼如前所述,(x, y) 會變成 (0, x),繼續再變換一次,就會變成 (0, 0)。任意的 (x, y) 都會變成 (0, 0),這就是 零變換。以矩陣來說,就是取
A =
1 0 0 0
0 1 1 0
=
0 1 0 0
則
A2 =
0 1 0 0
2
=
0 0 0 0
(B) 如果變換兩次等同於I,那麼該變換本身必是 I 或 −I 嗎?不一定,如果這個變換 是「對x 軸鏡射」,那麼 (x, y) 會變成 (x, −y)3,繼續再變換一次,就會變回 (x, y)。任意的 (x, y) 都會變成 (x, y),這就是恆等變換。以矩陣來說,就是取
A =
1 0 0 −1
因為是y 坐標加負號,所以對 I 的第二列加負號,這就成了對 x 軸鏡射的鏡射
3對x 軸鏡射,等同於直接 y 坐標加負號。
2 線性變換
矩陣。而變換兩次,就是
A2 =
1 0 0 −1
2
=
1 0 0 1
(C) 如果變換兩次與變換一次相同,那麼該變換本身必是恆等變換或零變換嗎?
不一定,考慮「投影到x 軸」這變換,投影兩次與投影一次當然還是一樣的。
以矩陣來說,就是取
A =
1 0 0 0
則
A2 =
1 0 0 0
2
=
1 0 0 0
(D) 其實只要考慮A = B 就變成選項(A)了。或者也可另舉一例,一個是「投影到 x 軸」、一個是「投影到 y 軸」,無論哪個變換先做,(x, y) 做了這兩個變換後,
必為(0, 0)。以矩陣來說,就是取
A =
1 0 0 0
, B =
0 0 0 1
則
AB =
1 0 0 0
0 0 0 1
=
0 0 0 0
BA =
0 0 0 1
1 0 0 0
=
0 0 0 0
(E) 其實只要考慮B = O 或 B = I 就變成選項(A)或(B)了。
注意
1. 此題顯明了本文的寫作動機。以往同學遇到這類問題,常常覺得不易下手、容易 被拐,等看了解答,詳解給出的反例也不易理解,好像只能硬將每一題的反例都 記起來。而這些例子都是矩陣,有些還彼此長得很像,所以記起來還真不太容易。
然而我們可以由線性變換的角度來看待,先構思變換,再寫出相應的矩陣。構思 不出也沒有關係,你可以記住這些變換,記變換會比記矩陣還容易。
2. 選項(B)亦可舉「x, y 坐標互換」這一變換作為例子,給你當作練習寫寫看。
2 線性變換
例題 5
若2 × 2 矩陣 A 滿足 A4 = A,下列何者正確?
(A)A 必為 I (B)A 必有反矩陣
(C)A3 = I (D)A 可能是旋轉矩陣
(E)A 可能是鏡射矩陣。
解
(A) 不一定,如果A 是「投影到 x 軸上」,投影兩次等於投影一次,所以 A2= A。同 理,A3 = A4 = · · · = A,這樣的 A 滿足題設但不是 I。
(B) 承(A),如果A 是投影矩陣,便不存在反矩陣。
(C) 承(A),如果A 是投影矩陣,則 A3= A。
(D)⃝ A 為旋轉 0◦, 120◦, 240◦的旋轉矩陣皆可,這樣便有A3= I ⇒ A4 = A。
(E) 若A 為鏡射矩陣,A4等於鏡射4次 ⇒ A4= I
例題 6
考慮坐標平面上的直線L : 3x − 2y = 1。若二階方陣
1 0 a −8
所代表的線性變換 可以將L 上的點變換到一條斜率為 2 的直線,則 a 的值為下列哪一個選項?
(A)6 (B)8 (C)10 (D)12 (E)14
104數甲
解
x′ y′
=
1 0 a −8
·
x y
⇒
x y
=
1 0 a −8
−1
·
x′ y′
= 1
−8
− 8 0
− a 1
·
x′ y′
=
x′ y′− ax′
−8
代入L 得 3 (x′) − 2
(y′− ax′
−8 )
= 1 ⇒ 3x′+ 1 4y′− a
4x′ = 1 ⇒ (12 − a)x′+ y′ = 4 斜率a − 12 = 2 ⇒ a = 14,故選(5)。
2 線性變換
例題 7
在平面上,設二階方陣Rθ, Mθ分別代表對原點旋轉 θ 及對直線y = tan θx 鏡射的 線性變換,則下列何者正確?
(A)RαMβ= MβRα (B)RαRβ= RβRα
(C)MαMβ是旋轉矩陣 (D)RαM10β = M10β Rα
(E)若B 為二階方陣,且 BMθ =
− 1 0 0 −1
,則 B + Mθ = O。
解
(A) 先旋轉再鏡射與先鏡射再旋轉不同。例如(1, 0) 先旋轉 90◦ 變成(0, 1),再對 y = x 鏡射(即 x, y 坐標互換)變成 (1, 0);若是 (1, 0) 先對 y = x 鏡射變成 (0, 1),
再旋轉90◦ 變成(−1, 0),結果不同。
(B)⃝ 先旋轉 β 角再旋轉 α 角,必等於先旋轉 α 角再旋轉 β 角。
(C)⃝ 此選項不在本文討論範圍。
(D)⃝ 鏡射兩次就是恆等變換,所以鏡射矩陣 Mβ必滿足M2β= I , 故RαM10β = Rα· I = I · Rα = M10β Rα。
(E)⃝ BMθ = −I ⇒ B = −M−1θ ⇒ B + Mθ = O
例題 8
A 和 B 是兩個二階方陣。其中 A 的作用是對直線 L : y + √
3x = 0 的鏡射,且知 AB =
− 1 0 0 −1
。請選出正確的選項。
(A)AB = BA (B)A + B = O
(C)B 所對應的平面變換是旋轉 (D)−A 是 B 的反方陣
92數甲
解
AB = −I ⇒ B = −A−1 (A)⃝ BA = −A−1A = −I = AB
2 線性變換
(B)⃝ A 是鏡射矩陣故 A2= I ⇒ A−1= A ⇒ A + B = A − A−1 = A − A = O (C) B = −A 不是旋轉矩陣
(D)⃝ (−A)B = −AB = I
例題 9
有關A =
1 0 0 −1
與 B =
12 −√23
√3
2 1
2
,下列何者正確?
(A)AB = BA (B)A2B = BA2 (C)A11B3 = B6A5 (D)AB12= A7 (E)(ABA)15= AB15A
96數甲
解
A 為對 x 軸鏡射的變換,A2= I;
B =
cos 60◦ − sin 60◦ sin 60◦ cos 60◦
為旋轉 60◦的變換,B3 = −I, B6 = I。
(A) 先旋轉60◦再對x 軸鏡射 , 先對 x 軸鏡射再旋轉 60◦ (B)⃝ A2B = IB = B = BI = BA2
(C) A11B3 = I5A(−I) = −A, B6A5 = I · I2A = A,不相等 (D)⃝ AB12 = AI2 = A, A7 = I3A = A,相等
(E)⃝ (ABA)2 = (ABA)(ABA) = ABA2BA = AB2A,同理,(ABA)15= AB15A