lijiankou的个人博客分享 http://blog.sciencenet.cn/u/lijiankou

博文

矩阵乘法的四种理解方式

已有 21280 次阅读 2013-4-30 15:36 |个人分类:线性代数|系统分类:科研笔记| 矩阵

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

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

假设 $a^T$ 和b分别是一个行向量和一个列向量,那么内积、外积分别记作 $a^T\cdot b$ 和 $b\otimes a^T$ ,为了讨论方便,假设每个向量的长度为2,内积和外积如下所示:

$a^T\cdot b = a_1b_1 + a_2b_2$

$b\otimes a^T = \begin{pmatrix} b_1a_1 & b_1a_2\\ b_2a_1 & b_2a_2 \end{pmatrix}$

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

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

$AB = \begin{pmatrix} \ a_1^T\\ \ a_2^T\\ \end{pmatrix} \begin{pmatrix} b_1& b_2 \end{pmatrix}$

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

$AB = \begin{pmatrix} a_1^Tb_1& a_1^Tb_2\\ a_2^Tb_1& a_2^Tb_2 \end{pmatrix}$

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

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

$AB = \begin{pmatrix} a_1 & a_2 \end{pmatrix} \begin{pmatrix} b_1 &b_2 \end{pmatrix}$

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

$c_1 = Ab_1 = \begin{pmatrix} a_1 & a_2 \end{pmatrix}b_1 = a_1b_{11} + a_2b_{12}$

同理:

$c_2 = a_1b_{21} + a_2b_{21}$

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

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

$AB = \begin{pmatrix} a_1^T\\ a_2^T \end{pmatrix} \begin{pmatrix} b_1^T\\ b_2^T \end{pmatrix}$

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

$c_1^T = a_1^T B = a_1^T\begin{pmatrix} b_1^T\\ b_2^T \end{pmatrix} = a_{11}b_1^T + a_{12}b_2^T$

同理:

$c_2^T = \begin{pmatrix} a_{21}b_1^T& a_{22}b_2^T\\ \end{pmatrix}$

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

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

$AB = \begin{pmatrix} a_1 &a_2 \end{pmatrix} \begin{pmatrix} b_1^T\\ b_2^T \end{pmatrix}$

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

$AB = a_1b_1^T + a_2b_2^T$

注意到 $a_ib_i^T$ 是一个外积形式,因为 $a_i$ 是一个列向量, $b_i^T$ 是一个行向量,因此C是由各个外积矩阵相加得到的。


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

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




https://blog.sciencenet.cn/blog-520608-685388.html


下一篇:PRML笔记-无信息先验
收藏 IP: 124.16.137.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-8-5 22:21

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部