back to index
[線性代數] 矩陣乘上向量的一些特性

link |
我們接下來就看矩陣跟向量相乘的一些特性。
link |
第一個特性是,矩陣只能跟對的向量相乘,向量只能跟對的矩陣相乘。
link |
向量跟矩陣它們必須要相匹配,大小必須相匹配的時候,它才能相乘。
link |
所以一個向量它不能夠隨隨便便跟每一個矩陣都相乘。
link |
有些矩陣某個向量可以相乘,有些矩陣某個向量不能相乘。
link |
所以假設我們現在有一個向量,它有兩個element,一個負一。
link |
這個向量它可以跟A''相乘,可以跟A'相乘,但它不能夠跟A相乘。
link |
並不是所有的矩陣都可以跟這個向量X相乘。
link |
不管是從Raw的觀點還是從Column的觀點,你都知道說今天一個矩陣Column的數目
link |
必須跟向量的element的數目一樣,它們才能夠相乘。
link |
所以A''有兩個Column,這個向量正好有兩個element,所以可以相乘。
link |
A''它有兩個Column,這個X正好有兩個element,所以可以相乘。
link |
不管是從Raw的觀點還是從Column的觀點,都沒辦法跟這個向量X,沒辦法跟這邊每一個Raw做inner product。
link |
Dimension不一樣,大小不一樣,不能做inner product。
link |
那能不能夠把X當做係數,去把這些Column做weighted sum呢?
link |
不行,有三個Column,這邊做兩個係數,兩個人分三路,分佈均勻。
link |
那這個矩陣跟向量相乘有什麼樣的特性呢?
link |
假設我們現在有AB這兩個M'N的矩陣,有U跟B兩個向量。
link |
這兩個向量這邊要強調一下,它是RN的向量,也就是這兩個向量有N個element。
link |
所以你可以把U放心的乘上A跟B,因為A跟B都有N個Column,你也可以把B放心的乘上A跟B。
link |
向量跟矩陣相乘有以下的特性,一樣我們用放獨的方式來唸過以下這幾個特性,那這幾個特性我相信你是不會有所懷疑的。
link |
那這個A乘上括號U加B,等於AU加上AB。
link |
A乘上括號C倍的U,等於你可以把C提出去,C倍的A乘以U。
link |
等於你可以把C乘以A,C乘以A得到一個新的向量,C乘以A得到一個新的矩陣,再乘上U。
link |
你把零向量乘上A,還會是零向量。零向量乘上A,會是零向量。
link |
那把zero matrix乘上任何的向量,也都會是零向量。
link |
那把identity matrix乘上某一個向量V,你會得到那個向量,它自己。
link |
那IN是什麼呢?IN我們才剛看過,就是N乘以N的identity matrix。
link |
它是一個N乘以N的大小矩陣,對角線的地方是1,不是對角線的地方都是0。
link |
比如說I3長這個樣子,3乘以3的矩陣,對角線的地方是1,不是對角線的地方都是0。
link |
把I3乘上某一個向量V,它的三個element分別是V1、V2、V3。
link |
把I3乘上V1、V2、V3等於什麼呢?等於還是V1、V2、V3。
link |
為什麼?不管你是從column的觀點來看,還是從row的觀點來看,得到的答案都是一樣的。
link |
從row的觀點來看,我們要把V1、V2、V3分別跟三個row做inner product。
link |
V1、V2、V3跟第一個row做inner product是V1,跟第二個row做inner product是V2,跟第三個row做inner product是V3。
link |
你把這三個向量,這三個column,這三個column其實就是我們之前才剛看過的standard vector,對不對?
link |
我們可以把這三個standard vector分別乘上V1、V2、V3當作位,得到的結果也是V1、V2、V3。
link |
我們怎麼知道兩個矩陣是不是一樣的呢?
link |
你說問這個問題多麼無聊啊,我們就把這兩個矩陣拿出來,比較裡面的每一個element是不是一樣的,就知道兩個矩陣是不是一樣的嘛。
link |
但是假設現在我們不能夠看這個矩陣裡面有什麼樣的element,我只告訴你說,我們有兩個矩陣,一個矩陣叫A,一個矩陣叫B,但你不能去看它裡面的element。
link |
那我要問你,你如何知道這兩個矩陣是不是一樣的呢?
link |
我講得更具體一點,我們剛才已經講過說每一個矩陣都代表了一個linear system。
link |
現在你手上有兩個linear system,A跟B,但它們是黑盒子,你不能拆開來看看裡面有什麼,反正就是有A跟B這兩個linear system。
link |
我們怎麼知道說這兩個linear system是不是一模一樣的呢?
link |
雖然我們不能夠把這兩個linear system拆開來看,但是我們可以對它做一些輸入,看看它會給我們什麼樣的輸出。
link |
假設今天不管我們輸入什麼樣的東西,W代表這個linear system的輸入,把A乘上W就代表W輸入A這個system以後得到的輸出,B乘上W就代表W輸入B這個system以後的輸出。
link |
W是一個向量,那這個向量乘上A跟乘上B以後的結果永遠都是一樣的。不管W是誰,不管W是哪一個向量,丟到A系統,丟到B系統,輸出永遠都是一樣的。
link |
這個時候,我們可以說A跟B這兩個系統,它們就是一模一樣的嗎?我說A跟B這兩個矩陣,它們裡面的每一個element都會是一模一樣的嗎?
link |
我想要知道大家的想法,用你的直覺猜猜看,你覺得是不是一模一樣?
link |
假設我們有兩個系統,這兩個系統我們不管輸入什麼,它的輸出永遠都是一樣的。這兩個線性系統背後所代表的矩陣A跟B,它們會是一模一樣的嗎?
link |
你覺得它是一模一樣的同學舉手一下。手放下。你覺得它不會是一模一樣、有可能不一樣的同學舉手一下。也有一些。
link |
好,那我們就來看看它是不是一模一樣。這邊有可能是一樣的,也有可能是不一樣的,因為你直覺可能會覺得說,應該是一樣的吧。
link |
就是不管輸入什麼東西,輸出來的結果都是一樣的,那有可能會是不一樣的東西嗎?但是這個又這麼的直覺,所以它有可能是季中季,有可能是不一樣的東西。
link |
現在我們必須先有一個觀念,這個觀念我們用藍色的框框把它框起來。
link |
A這個矩陣乘上EJ這個vector,會等於AJ這個vector。EJ這個vector是什麼呢?EJ這個vector它是一個standard vector,這個standard vector它只有在J這個dimension,只有在J的element是1,其他都是0。
link |
我們之前已經講過standard vector嘛,standard vector的下標代表它的第幾個element是1,然後其他都是0。EJ就是D,J一個element是1,其他都是0。
link |
AJ是什麼?AJ是A的D,J一個color。所以你只要把A乘上standard vector D這個standard vector EJ,你就可以得到A的D這個color。
link |
什麼意思呢?我們再說得更詳細一點。假設現在我們有第一個standard vector叫做E1,E1就是第一個element是1,其他都是0。
link |
我們把E1乘上一個matrix A以後會發生什麼事呢?matrix A是由N個vector所構成的,由A1到AN,N個vector所構成的。
link |
E1是第一個element是1,其他都是0。我們現在用Column的觀點來看待矩陣跟向量的乘法,我們現在用Column的觀點來看待這件事。
link |
如果用Column的觀點來看待這件事的話,A乘以E1就是把A1到AN根據這些element做為design,而這些element裡面只有一個是1,其他都是0。
link |
你把這些向量乘上0就是0了,向量乘上0就是zero vector,所以就不要管它,所以我們只需要把E考慮進來,E出現在第一個位置,所以E會乘上A1,其他的Column都會乘上0。
link |
所以A乘上E1會等於什麼呢?A乘上E1會等於A1。
link |
所以從Column的觀點來看,從Column的觀點來看待矩陣跟向量相乘,我們就是把A1乘以1、A2乘以0,一直加到AN乘以0,會等於A1。
link |
同理,這個E你可以換成其他的下標,可以換成J,換成2、換成3、換成J,都是乘以0。
link |
所以我們怎麼知道一個矩陣的這個Column的內容是什麼呢?我們就把它乘上某一個standard vector,把它乘上一個對應的對的standard vector,我們就可以把這個矩陣的這個Column把它取出來。
link |
所以現在我們既然知道說不管W輸入什麼,乘上A、乘上B都會是一樣的,不管W是誰,乘上A、乘上B都會是一樣的,那standard vector也不例外,standard vector也是任何vector的其中一個,所以我們把A乘上E1會等於B乘上E1,這沒有問題。
link |
A乘上E1等於B乘上E1,告訴我們什麼事呢?A乘上E1等於B乘上E1,告訴我們A的第一個Column跟B的第一個Column是一樣的。
link |
A乘上E2也會等於B乘上E2,這也沒有問題,因為所有的W都成立,所以E2當然也成立,那這告訴我們什麼?這告訴我們A的第二個Column等於B的第二個Column。
link |
以此類推,A的第N個Column等於B的第N個Column,所以AB這兩個矩陣,他們第一個到第N個Column,所有的Column都是一模一樣的,所以A等於B。
link |
所以如果今天不管是什麼向量輸入,A跟B這兩個系統得到的輸出都是一樣的,我們假設A跟B都是線性系統,那我們就可以肯定的說A跟B這兩個系統是一模一樣的。
link |
但是事實上,我們如果要知道A跟B是不是一樣的,輸入所有可能的向量去檢測它,其實是太多餘了。
link |
你發現說我們根本就不需要輸入所有的W去確定A乘上W跟B乘上W是一樣的,我們只要確定N個Standard Vector,
link |
這N個Standard Vector輸入A跟B這兩個Linear System,它的輸出都會是一模一樣的,那我們就可以肯定A等於B了,不需要檢查所有可能的向量,只需要檢查Standard Vector就足夠了。