矩阵乘法的四种理解方式

from http://blog.sciencenet.cn/blog-520608-685388.html 

 

先介绍向量的两种运算,一个行向量乘以一个列向量称作向量的内积,又叫作点积,结果是一个数;

一个列向量乘以一个行向量称作向量的外积,外积是一种特殊的克罗内克积,结果是一个矩阵,

假设 aTaT 和b分别是一个行向量和一个列向量,那么内积、外积分别记作 aTbaT⋅b 和 baTb⊗aT ,为了讨论方便,假设每个向量的长度为2,内积和外积如下所示:

aTb=a1b1+a2b2aT⋅b=a1b1+a2b2 

baT=(b1a1b2a1b1a2b2a2)b⊗aT=(b1a1b1a2b2a1b2a2)

定义了内积和外积以后,我们讨论矩阵的乘法。矩阵是由向量组成的,因此对矩阵不同角度的抽象,将矩阵乘法转换为向量乘法,可以使我们从不同的角度去理解矩阵的乘法。对于一个矩阵A(假设行和列的大小都是2),我们既可以把它看作由两个行向量组成的列向量, (aT1aT2)(a1Ta2T) ,又可以看作是由两个列向量组成的行量 (a1a2)(a1a2) ,我们 aiai 表示列向量, aTiaiT 表示行向量,这样矩阵A和矩阵B的乘积按照不同的角度就可以组成四种理解方式。

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

AB=( aT1 aT2)(b1b2)AB=( a1T a2T)(b1b2)

此时AB乘积变为了两个新的向量的外积形式,按照外积定义,我们有

AB=(aT1b1aT2b1aT1b2aT2b2)AB=(a1Tb1a1Tb2a2Tb1a2Tb2)

注意到这里面每一个 ai,bjai,bj 都是一个向量,因此 aTibjaiTbj 就是一个内积,计算结果就是AB矩阵第i行第j列中的元素。因此,我们可以看到,矩阵乘积是两个向量的外积,并且外积矩阵中的每一个元素是一个内积,这是最直接的理解方式。

二、 A和B都是由列向量组成的行向量

AB=(a1a2)(b1b2)AB=(a1a2)(b1b2) 

令C = AB, 我们考虑C的每一个列向量:

c1=Ab1=(a1a2)b1=a1b11+a2b12c1=Ab1=(a1a2)b1=a1b11+a2b12 

同理:

c2=a1b21+a2b21c2=a1b21+a2b21

因此,矩阵C的每一个列向量,是A的列向量的一个线性组合,该线性组合中的系数是 bibi 的各个元素。从这个角度说C的每一列都存在于A的列向量空间内。

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

AB=(aT1aT2)(bT1bT2)AB=(a1Ta2T)(b1Tb2T) 

类似于上面的情况,不过我们现在考虑C的每一个行向量:

cT1=aT1B=aT1(bT1bT2)=a11bT1+a12bT2c1T=a1TB=a1T(b1Tb2T)=a11b1T+a12b2T 

同理:

cT2=(a21bT1a22bT2)c2T=(a21b1Ta22b2T) 

因此,矩阵C的每一个行向量,是B的行向量的一个线性组合,该线性组合中的系数是 aTiaiT 的各个元素。从这个角度说C的每一个行向量都存在于B的行向量空间内。

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

AB=(a1a2)(bT1bT2)AB=(a1a2)(b1Tb2T) 

此时AB乘积变为了两个新的向量的内积形式。按照内积定义我们有:

AB=a1bT1+a2bT2AB=a1b1T+a2b2T 

注意到 aibTiaibiT 是一个外积形式,因为 aiai 是一个列向量, bTibiT 是一个行向量,因此C是由各个外积矩阵相加得到的。

 

根据以上分析,我们可以将第一种和第四种方式放到一起,第二种和第三种放到一起分别进行理解。第一种方式先将A抽象为列向量,将B抽象为行向量,从而将矩阵乘法变为了一种外积的形式,而外积矩阵中的每一个元素是一个行向量和一个列向量的内积。这种方式每次得到C的一个元素 cijcij 。

第四种理解方式先将A抽象为行向量,将B抽象为列向量,从而将矩阵乘法变为了一种内积形式,内积的各个组成部分 aibTiaibiT 又是一个外积。这种方式每次不是得到C的一个元素 cijcij ,而是将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

 

posted @ 2018-05-14 11:29  princessd8251  阅读(506)  评论(0)    收藏  举报