formal understanding of functions
我們都知道 function 的表示如下
我們可以帶入更多的術語進到 function 裡面,這裡用一個 x 變成 x^2 的 function 來示範
f(x)=x2∣f:R→R 這個 function 從 R map 到還是 R,而且可以表示成另一個方式
f:x↦x2 我們稱還沒轉換的前一個物件為 domain ,而轉換過後的物件為 co-domain
因為 x 轉換成 x^2 還是在 real number 裡面,所以 f 的 domain & co-domain 都是 real number
那什麼是 Range 呢?
Range 是 co-domain 的 subset ,這個 subset 為 function 真正 map 到的地方
例如有個 function 讓任何 R2 都會 maps 到 2
g:R2→R∣g(x1,x2)=2 所以他的 domain 為 R2,co-domain 為 R,range 為 { 2 }
另外,若是 function map 到的 co-domain 為 R,那我們稱之為 scalar (real) valued function
而 co-domain 為 R2, R3, R100, Rn,那我們稱之為 vector valued function
Vector Transformation
我們可以將 function apply 到 vector 上面,這時候雖然做的事情一樣,不過我們稱為 transformations
f:Rn→Rm 例如我們可以將 R3 的 vector 轉換到 R2 的 vector
fx1x2x3=[x1+2x23x3] 若 domain 為 (1, 1, 1) 就會有對應的 co-domain (3, 3)
f111=[33] Linear transformations
我們將給予 vector transformation 一個新名詞,叫作 linear transformation
只要 transformation 能夠符合兩項條件,那這個 transformation 就是 linear transformation
兩個向量相加後再 transform 等於兩個向量先 transform 再相加
任一向量先做 scalar multiplication 再 transform 等於先 transform 再做 scalar multiplication
T:Rn→RmLinear transformation ⟺a,b∈RnT(a+b)=T(a)+T(b)T(ca)=cT(a)∣c∈R 舉個符合 linear transformation 的 T function
T:R2→R2T(x1,x2)=(x1+x2,3x1)a=(a1,a2)b=(b1,b2)
a+b=(a1+b1,a2+b2)T(a+b)=((a1+b1)+(a2+b2),3a1+3b1)T(a)=(a1+a2,3a1)T(b)=(b1+b2,3b1)T(a)+T(b)=((a1+b1)+(a2+b2),3a1+3b1)T(a+b)=T(a)+T(b)
T(ca)=T((ca1,ca2))=(ca1+ca2,3ca1)=c(a1+a2,3a1)=cT(a) 另外舉例一個不符合 linear transformation 的 T function
T:Rn→RnT([x1x2])=[x120]a=[a1a2]∈Rn 這時我們試著 apply linear transformation 的第二個條件,很明顯他不符合第二項條件
T(ca)=T([ca1ca2])=[c2a120]=c2[a120]=c2T(a) 所以這個 transformation 不是 Linear transformation
Visualizing linear transformations
知道 Linear transformation 的定義之後,先來看幾個不是 linear 的 transformation
然後來看看 linear transformation with indicator
我們可以看到 i hat 從 (1, 0) 變到了 (1, -2),而 j hat 從 (0, 1) 變到了 (3, 0)
也就是說,平面上任何一個 x 座標向量,他會跟 (1, 0) 一樣轉換了 (1, -2)
[x0]=x[10]→x[1−2]=[x−2x] 而平面上任何一個 y 座標向量,則會跟 (0, 1) 一樣轉換了 (3, 0)
[0y]=y[01]→y[30]=[3y0] 這下我們就可以知道為什麼 (1, 1) 會變到 (4, -2) 了,因為
[11]=[10]+[01]→[1−2]+[30]=[4−2] 我們可以從這個影片看到上面座標向量改變的動畫
最後,我們可以利用 matrices 來表達 linear transformation
[xy]=x[10]+y[01] 我們知道任意 x 可以表示成 x 乘 i hat,任意 y 可以乘 j hat
而 i, j hat 的 transformation 可以 apply 到其他 x, y 上面
x[ac]+y[bd]=[ax+bycx+dy] 如此一來,代表 transformation 的 matrix A 和要被我們轉換的 vector v
Av 即為轉換後的結果:
A=[acbd],v=[xy]Av=[acbd][xy]=[ax+bycx+dy] Matrix vector products as linear transformations
Transformation 可以化為矩陣 A 乘以被轉換的 vector x
T:Rn→RmT(x)=Ax∣Ax∈Rm 舉個例子
B=[23−14],T:R2→R2T(x)=Bx=[23−14][x1x2]=[2x1−x23x1+4x2] 這個結果等同於
T(x1,x2)=(2x1−x2,3x1+4x2) 接著我們來測試一下,化為 matrix product 的 linear transformation 還有沒有符合兩大條件呢
A(a+b)=[v1v2⋯vn]a1+b1a2+b2⋮an+b2=(a1+b1)v1+(a2+b2)v2+⋯+(an+bn)vn=a1v1+b1v1+a2v2+b2v2+⋯+anvn+bnvn=(a1v1+a2v2+⋯+anvn)+(b1v1+b2v2+⋯+bnvn)=Aa+Ab A(ca)=[v1v2⋯vn]ca1ca2⋮can=ca1v1+ca2v2+⋯+canvn=c(a1v1+a2v2+⋯+anvn)=cAa 這證明,Matrix 和 vector 相乘所代表的 transformation 永遠是 linear transformation
Linear transformations as matrix vector products
上面我們讓矩陣和 linear transformation 連結在一起
現在我們嘗試來讓 linear transformation 轉換為 matrix 和 vector 的 product
首先要先認識何為 Identity Matrix
Identity matrix 用 In 來表示,是一個 n × n 的矩陣,並且只有在對角線上有 1
In=100⋮0010⋮0001⋮0⋯⋯⋯⋱0000⋮1,I2=[1001],I3=100010001,⋯ Identity matrix 乘以任何 vector 都會維持 vector 本身
Inx=x∣I2x=[1001][x1x2]=[x1x2] 並且我們會給予 Identity matrix 每一 column vector 一個 e 的代號
而這些 column vector 不只 span Rn 空間,而且為 linear independence,還是 unit vectors
所以又稱為 stardard basis for Rn
In=[e1e2⋯en]{e1e2⋯en}→ standard basis for Rn 好了!現在幾乎所有 vector 都可以用 e 來表達
x=x1x2⋮xn=x1e1+x2e2+⋯+xnen=Inx=x10⋮0+0x2⋮0+⋯+00⋮xn 接下來我們將 x 代入 transformation,
T(x)=T(x1e1+x2e2+⋯+xnen)=T(x1e1)+T(x2e2)+⋯+T(xnen)=x1T(e1)+x2T(e2)+⋯+xnT(en)=[T(e1)T(e2)⋯T(en)]x1x2⋮xn 上面證明,所有的 linear transformation 都可以用 matrix vector product 表示
舉一個例子
T:R2→R3∣T(x1,x2)=(x1+3x2,5x2−x1,4x1+x2) 可以表示成等式
T([x1x2])=x1+3x25x2−x14x1+x2 我們可以先用 Identity matrix 表達 vector 並且進行 transform
T(I2)=[T([10])T([01])]=1−14351 而 x 的 transformation 就可以表達成 matrix vector product
T([x1x2])=1−14351[x1x2] Image of a subset under a transformation
我們來將 3 個向量所圍起來的三角形,進行 linear transformation,這三個向量分別為
x0=[−2−2],x1=[−22],x2=[2−2] 而三角形 S = {L1, L2, L3} 分別為
L1L2L3S={x0+t(x1−x0)∣0≤t≤1}={x2+t(x0−x2)∣0≤t≤1}={x1+t(x2−x1)∣0≤t≤1}={L1,L2,L3} 我們現在使用 matrix 來定義 transformation 為
T(x)=[12−10][x1x2] 那對這些 L1, L2, L3 進行 transformation 會怎麼樣呢
T(L1)={T(x0+t(x1−x0))∣0≤t≤1}={T(x0)+T(t(x1−x0))∣0≤t≤1}={T(x0)+tT(x1−x0)∣0≤t≤1}={T(x0)+t(T(x1)−T(x0))∣0≤t≤1} 我們成功的將 L 直線的 transformation 轉為每個 vector 的 transformation
所以我們可以把每個 vector 的 transformation 算出來,再放回我們拆好的式子裡
T(x0)=[12−10][−2−2]=[0−4]T(x1)=[12−10][−22]=[−4−4]T(x2)=[12−10][2−2]=[44] 接著再把這些已經 transform 的 vector 代回 T(L) 的式子中,即可得到 L1, L2, L3
我們稱這些經過 transformation 的直線或三角形為 Image of XXX under T
T(L0) is the image of L0 under TT(S) is the image of S under T Image of a transformation
上面我們將 subset of vectors 轉換成另一個 subset 很成功,
那麼將 subspace 轉換成另一個 subspace 得到的 image 還能符合 subspace 的條件嗎?
V subspace in Rna,b∈V⇒a+b∈V⇒ca∈V⇒0∈V 我們定義好 Transformation 和代表他的 matrix ,並把 a, b vector 帶進來看看
T:Rn→RmT(V): image of V under TOK! OK! T(a),T(b)∈T(V)T(a)+T(b)=T(a+b)∈T(V)cT(a)=T(ca)∈T(V) 因為 a+b 和 ca 都已經屬於 subspace V 了,所以在轉換後依然為合理的 subspace
那如果將整個 Rn 轉換到 Rm 呢?
T:Rn→RmT(Rn): image of Rn under T={T(x)∣x∈Rn}=Range of T 我們把整個轉換過去的 T(Rn) 稱為 range of T 或者是 Image of T 然後標記為 Im(T)
所以我們可以把 transformation 如此表示
T(x)=Ax={Ax∣x∈Rn}=[a1a2⋯an]x1x2⋮xn=x1a1+x2a2+⋯+xnan=span(a1,a2,⋯,an)=Column space of A=C(A) 原來 transformation 可以表示為 matrix A 和 vector x 的乘積,而且還是 matrix A 的 column space
Preimage of a set
我們已經知道整個 Rn 轉換過去的 subset 叫作 Image of Rn under T
那我們現在想要從 co-domain 來得知有哪些 domain 轉換過去,要怎麼表示?
我們想知道 X 底下有哪些 subset 可以 transform 到 Y 底下的 S subset,我們可以這樣表示
T−1(S)={x∈X∣T(x)∈S}T−1(S): Preimage of S under T 問個有趣問題,那麼 preimage 經過 transformation 會變為什麼呢
T(T−1(S))⊆S => 會屬於 S 的 subset ,不一定要對到所有 S
Preimage and kernel
我們來舉個例子從 image subset 以及 transformation matrix 來找出 preimage x
T(x)=Ax=[1236][x1x2],S={[00],[12]} 白話來說就是,在二維空間中,有哪些東西經過 transform 會變成 [0, 0] 或者是 [1, 2]
T−1(S)=preimage of S under T={x∈R2∣T(x)∈S}={x∈R2∣Ax=[00] or Ax=[12]} 等於要解出以下方程式,我們以找出 [0, 0] 的 preimage 為例
⇒⇒⇒⇒⇒[1236][x1x2]=[00][123600][103000]x1+3x2=0x1=−3x2[x1x2]=[−3x2x2]={t[−31]∣x2=t,t∈R} 也就是 t(-3, 1) 的這條直線 (subset) 上任何一點,經過 transformation 就會回到原點
像這樣有 subset 經過 transformation 後回到原點的現象,我們稱這個 subset 為 kernel of T
ker(T)={x∈R2∣T(x)={0}} 而有趣的是,他跟 A 的 null space 是一樣的
T(x)=Axker(T)=N(A) Sums and scalar multiples of linear transformations
Linear transformation 利用 matrix 表達也能夠使用相同的 properties
SDefDef:Rn→Rm,T:Rn→Rm:(S+T)(x)=S(x)+T(x):(S+T) still is Rn→Rm:(cS)(x)=c(S(x)):(cS) still is Rn→Rm 這些 properties 在改變成 matrix 表示時也可以使用
(S+T)(x)=S(x)+T(x)=Ax+Bx=(A+B)x=[a1+b1a2+b2⋯an+bn]x1x2⋮xn (cS)(x)=c(S(x))=cAx=c(x1a1+x2a2+⋯+xnan)=x1ca1+x2ca2+⋯+xncan=[ca1ca2⋯can]x1x2⋮xn