矩陣乘法的四種理解方式


先介紹向量的兩種運算,一個行向量乘以一個列向量稱作向量的內積,又叫作點積,結果是一個數;

一個列向量乘以一個行向量稱作向量的外積,外積是一種特殊的克羅內克積,結果是一個矩陣,

假設和b分別是一個行向量和一個列向量,那麼內積、外積分別記作


注意:外積在不同的地方定義方式不太一樣,這裏不詳細討論

定義了內積和外積以後,我們討論矩陣的乘法。矩陣是由向量組成的,因此對矩陣不同角度的抽象,將矩陣乘法轉換爲向量乘法,可以使我們從不同的角度去理解矩陣的乘法。首先我們可以對於一個矩陣A(假設行和列的大小都是2),我們可以即可以把它看作由兩個行向量組成的列向量,

,又可以看作是由兩個列向量組成的行量,我們表示列向量,表示行向量


這樣矩陣A和矩陣B的乘積按照不同的角度就可以組成四種理解方式。

一、 A是由行向量組成的列向量,B是由列向量組成的行向量

                              

此時AB乘積變爲了兩個新的向量的外積形式,按照外積定義,我們有


注意到這裏面每一個都是一個向量,因此就是一個內積,計算結果就是AB矩陣第i行第j列中的元素。因此,我們可以看到,矩陣乘積是兩個向量的外積,並且外積矩陣中的每一個元素是一個內積。這種方式是最直接的理解方式。

二、 A是由列向量組成的行向量,B也是由列向量組成的行向量


令C = AB, 我們考慮C的每一個列向量:


同理:

因此,矩陣C的每一個列向量,是A的列向量的一個線性組合,該線性組合中的係數是的各個元素。從這個角度說C的每一列都存在於A的列向量空間內。

三、 A是由行向量組成的列向量,B也是由行向量組成的列向量


類似於上面的情況,不過我們現在考慮C的每一個行向量:


同理:


因此,矩陣C的每一個行向量,是B的行向量的一個線性組合,該線性組合中的係數是的各個元素。從這個角度說C的每一個行向量都存在於B的行向量空間內。

四、 A是由列向量組成的行向量,B也是由行向量組成的列向量


此時AB乘積變爲了兩個新的向量的內積形式。按照內積定義我們有:


注意到是一個外積形式,因爲是一個列向量,是一個行向量,因此C是由各個外積矩陣相加得到的。


根據以上分析,我們可以將第一種和第四種方式放到一起,第二種和第三种放到一起分別進行理解。第一種方式先將A抽象爲列向量,將B抽象爲行向量,從而將矩陣乘法變爲了一種外積的形式,而外積矩陣中的每一個元素是一個行向量和一個列向量的內積。這種方式每次得到C的一個元素

第四種理解方式先將A抽象爲行向量,將B抽象爲列向量,從而將矩陣乘法變爲了一種內積形式,內積的各個組成部分又是一個外積。這種方式每次不是得到C的一個元素,而是將C看作是多個矩陣相加組成的,每次計算得到一個加數矩陣。

第二種方式將矩陣A、B都抽象爲行向量,行向量的每個組成是一個列向量,A乘以B的每一個列向量得到一個新的列向量,並且該列向量存在於A的列向量空間內,A乘以B相當於是對A進行了列變換。第三種方式則將A乘以B看作是對B進行了行變換。

如果想對一個矩陣進行行變換,可以左乘一個矩陣;相應的如果想對矩陣進行列變換,可以右乘一個矩陣。這種思想被應用到高斯消元的過程中。


最後我們總結一下矩陣C(C=AB)到底是什麼,C是一個矩陣,是一個多面孔的矩陣。它既是列向量組成的行向量,每個列向量是A的列空間的線性組合,又是行向量組成的列向量,每個行向量是B的行空間的線性組合;它是一個內積,內積的每個成分是一個外積,同時它又是一個外積,外積矩陣的每一個元素是一個內積。


參考資料:

[1] http://videolectures.net/mit1806s05_strang_lec06/

[2] Introduction to Linear Algebra;  Gilbert Strang

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章