矩陣與線性變換
本文可以說是該系列最重要、最核心的文章。你對線性代數的一切困惑,根源就在於沒有真正理解矩陣到底是什麼。讀完咪博士的這篇文章,你一定會有一種醍醐灌頂、豁然開朗的感覺!
咱們先來說說啥叫變換。本質上,變換就是函式。
例如,你輸入一個向量 [57],
經過某個變換(即函式)的作用之後,輸出另一個向量 [2−3]
既然,變換本質上就是函式,那為啥還要多搞出這樣一個術語?
其實,“變換”這個詞暗示了我們能夠以某種方式視覺化 輸入—-輸出 關係。它暗示我們要從向量運動的角度去理解。即,變換讓向量從一個地方(對應輸入向量),運動到了另一個地方(對應輸出向量)。
我們說將變換作用於某個空間,意思是將該變換應用於空間中的每一個向量。
空間中的向量可以用一些規則分佈的點來表示。
下面是變換前的樣子,
下面是變換後的樣子。
變換後,空間中的點(即向量)運動到了其他的位置上。
二維空間變換中,等間距的平行網格可以更好地展示變換的性質。
下面是變換前的網格。
下面是變換後的網格。
顯然,變換讓空間發生了扭曲。
為了方便觀察,我們還可以把變換前後的網格都畫在同一張圖上。
變換有時非常地複雜。
例如,下面的幾個例子:
所幸的是,我們線上性代數中討論的線性變換,沒有那麼複雜,也更容易理解。
那麼線性變換是什麼意思呢?如果一個變換同時具有以下 2 條性質,則它是一個線性變換。
- 變換前後,所有的直線仍然是直線
- 變換前後,原點保持不變
換句話說,線性變換是原點不變,並使網路線保持平行且等距分佈的變換。
那麼,我們要如何描述一個線性變換呢?
以平面直接座標系為例,假定我們有一個向量 v⃗ =[−12]。我們可以將它看成是 2 個基向量 i, j 的線性組合。線性組合的係數分別對應向量的 2 個分量。
在某個線性變換的作用下,i, j 以及 v 都運動到了新的位置。
線性變換前後網路線保持平行且等距分佈,這一性質有一個重要的推論:線性變換後的 v 是變換後的 i 和 j 的線性組合,並且線性組合的係數和變換前一樣(仍然是 -1 和 2)
即,線性變換前
i⃗ =[10],j⃗ =[01],則
v⃗ =−1[10]+2[01]=[−12]
假定,經過某個線性變換後之後
i⃗ =[−12],j⃗ =[30],則
v⃗ =−1[1−2]+2[30]=[52]
事實上,我們只要知道線性變換之後,i, j 的位置(座標),就可以計算出任意一個向量經過同樣的線性變換之後的位置(座標)。
這意味著,對於一個線性變換,我們只需要跟蹤基向量在變換前後的變化,就可以掌握整個空間(即全部向量)的變化。我們將線性變換後的基向量座標按列組合起來,可以拼接成一個矩陣。線性變換的全部資訊便都包含在這個矩陣當中了。
給定一個 2×2 的矩陣 [acbd] 以及某個向量 [xy]。
矩陣對應著某個線性變換,它的 2 列 [ac] 和 [bd] 分別表示 2 個基向量 [10] 和 [01] 經過線性變換之後的座標。
那麼,向量 [xy] 經過該線性變換之後,其新座標的計算方法如下:
這一計算過程,我們可以用矩陣乘法來表達。將向量 [xy] 記作 x⃗ ,將整個矩陣記作 A,將線性變換後的向量記作 b⃗ ,整個等式是不是變成了大家熟悉的 Ax⃗ =b⃗ 。你可以把它看成是矩陣和向量相乘,也可以把它看成是一個線性方程組,現在你還可以把它看成是一個線性變換。多麼奇妙的一件事啊!
一旦你理解的本節教程的精髓,你便可以秒懂原來看起來十分費解的線性變換。
例如,逆時針旋轉 90 度對應的線性變換矩陣是什麼呢?
記住,對於線性變換,我們只需要跟蹤原來的基向量線上性變換後的位置(座標),然後把它們按列拼成一個矩陣,這個矩陣就是相應的線性變換矩陣。
在這個例子中,原來的 2 個基向量 [10] 和 [01] ,逆時針旋轉90 度之後,變成了 [01] 和 [−10] ,把它們拼成 一個矩陣[01−10] ,這便是逆時針旋轉 90 度對應的線性變換矩陣。要計算任意向量旋轉 90 度之後的座標,只需要用該矩陣左乘原來的向量就可以了。
下面是一個剪下變換,你能一眼就看出它在做什麼嗎?
我們再來看下面這個線性變換,其線性變換矩陣的 2 個列向量是線性相關的。這個線性變換會將整個二維空間壓縮到一條直線上。通過這個例子,你是不是對線性相關、線性無關有了更直觀的、更深刻的認識了呢?
總之,線性變換是操縱空間的一種手段。線性變換保持原點不動,網格線平行且等距分佈。只需要幾個數字(變換後基向量的座標)就可以清晰地描述一個線性變換。將變換後基向量的座標按列拼接成一個矩陣。這個矩陣為我們提供了一種描述線性變換的語言。線性變換作用於一個向量,對應於用線性變換矩陣左乘該向量。
以後,當你再看到矩陣的時候,你都可以將它解讀為對空間的某種線性變換,這是深刻理解矩陣乘法、行列式、基變換,以及特徵值等概念的重要基礎。掌握了本節(從線性變換的角度)看待矩陣的方式,線性代數中,原本極其抽象的概念,都將瞬間變得清晰起來。線性代數中各種看似莫名其妙的運算,以及各種神出鬼沒的概念,一下子都變得可愛起來了。