徹底理解矩陣乘法
- 2019 年 12 月 6 日
- 筆記
點擊 "閱讀原文" 可以獲得更好的閱讀體驗。
前言
今天的角度比較清奇,我們來講講矩陣的乘法。當然了,我告訴你的肯定不是大學教科書上那些填鴨式的雲里霧裡的計算規則,你可能將規則背下來了,但完全不理解為什麼會這樣。別怕,我將會在這篇文章中為你帶來矩陣乘法的全新體驗,就算你大學時代學的高數全忘了也能看懂這篇文章。
先來回顧一下矩陣加法,還蠻簡單的,就是相同位置的數字加一下。
矩陣乘以一個常數,就是所有位置都乘以這個數。
但是,等到矩陣乘以矩陣的時候,一切就不一樣了。
這個結果是怎麼計算出來的呢?大多數人知道的計算方法應該是教科書上給出的,我們就先來看這種方法。
教科書告訴你,計算規則是,第一個矩陣第一行的每個數字(2和1),各自乘以第二個矩陣第一列對應位置的數字(1和1),然後將乘積相加( 2 x 1 + 1 x 1),得到結果矩陣左上角的那個值3。

也就是說,結果矩陣第 m 行與第 n 列交叉位置的那個值,等於第一個矩陣第 m 行與第二個矩陣第 n 列,對應位置的每個值的乘積之和。
假設
令
其中,
可以得出矩陣 每個元素的表達式為
這就是矩陣乘法的一般性法則,人們一般都用這個法則來計算,我也不例外。不過我覺得還是有必要講講其他幾種方法,比如考慮整行或整列。下面還是繼續拿矩陣 和 舉例。
列向量視角
先將矩陣 和 的每一列看成一個向量,例如:
這樣就可以把矩陣 和 寫成如下的形式:
現在如果我將矩陣 和向量 相乘會得到什麼?通過前面的一般性法則我們知道大小為 m x n
的矩陣乘以大小為 n x p
的矩陣得到的矩陣大小為 m x p
。
我們來耍一些小聰明,讓矩陣 以列向量 作為其元素,而矩陣 以 作為其元素。這樣看來,矩陣 的大小為 1 x n
,矩陣 的大小為 n x 1
,所以 的大小為 1 x 1
,這也是一個列向量。如果你代入上面的一般性法則,可以發現 恰恰就是矩陣 的第一列。同樣,如果把矩陣 的每一列看成一個向量,那麼
其中,
發現了什麼? 其實就是矩陣 中所有列的線性組合!
更一般性地,我們可以推出:
至此我們得到了一個優美的結論:
矩陣 中的每一列都是矩陣 中所有列的線性組合。
到這裡你應該能領悟為什麼矩陣 的行數與矩陣 的行數相同了,也就是矩陣 的列向量與矩陣 的列向量大小相同。
怎麼樣,是不是有一種茅塞頓開的感覺?別急,下面我們再換一種理解角度。
行向量視角
先將矩陣 和 的每一行看成一個向量,例如:
這樣就可以把矩陣 和 寫成如下的形式:
同理,你會發現 恰好就等於矩陣 的第一行。同樣,如果把矩陣 的每一行看成一個向量,那麼
其中,
更一般性地,我們可以推出:
又得到了一個結論:
矩陣 中的每一行都是矩陣 中所有行的線性組合。
現在你應該能領悟為什麼矩陣 的列數與矩陣 的列數相同了,也就是矩陣 的行向量與矩陣 的行向量大小相同。
故事到這裡就結束了嗎?遠遠沒有,下面我們再換一種理解角度。
鬼畜視角
常規性的一般性法則其實是拿矩陣 的每一行去乘矩陣 的每一列的。現在我們反過來思考一下,如果拿矩陣 的每一列去乘矩陣 的每一行會發生什麼?
為了方便計算,我們將矩陣 的每一列看成一個向量,而將矩陣 的每一行看成一個向量,即:
矩陣 的大小為 m x 1
,矩陣 的大小為 1 x n
,發現了什麼? 得到的是一個大小為 m x n
的矩陣!等等,矩陣 的大小不也是 m x n
嗎?沒錯,就是這麼神奇,事實上矩陣 等於矩陣 的每一列與矩陣 每一行的乘積之和。下面省略一萬字的證明,直接給出公式:
結論:
矩陣 等於矩陣 中各列與矩陣 中各行乘積之和。
舉個例子,設矩陣 ,矩陣 ,那麼:
你有沒有發現,你每切換一次視角,你就會對矩陣乘法理解的更深刻。事實上世間萬物皆是如此,這裡我順便談一下」理解「和」理解「的本質,因為理解是我們每個人的目標,我們想要去理解事物。我認為理解和切換視角的能力密切相關,如果你沒有切換視角的能力,你就無法理解事物。關於數學,很多人認為數學就是加減乘除、分數、幾何代數之類的東西,但實際上數學和模式密切相關,每切換一次視角,你就會得到一種全新的模式。我所說的模式是指影響我們觀察的關係、結構以及規律。
當然了,關於矩陣的乘法還有很多種理解方式,你可以自己去探索,我的講解到此結束,拜了個拜~~