矩阵乘法理解问题

来源:4-7 矩阵和矩阵的乘法

慕斯卡8323326

2018-11-20

波波老师, 我在乘法(向量与向量, 矩阵与向量, 矩阵与矩阵的过度)学习过程中注意到:

  • 在向量和向量乘法中其实并不在意为列向量还是行向量
  • 在矩阵和向量的乘法中其实算是默认了此向量为列向量,但是感觉为当成行向量也不影响矩阵和此向量的乘积的结果
  • 在矩阵和矩阵的乘法分解中已经明确表示了是前一个矩阵的行向量和后一个矩阵的列向量相乘
    为何是这样, 是我理解原因还是本来这种情况是一种默认规则?
写回答

1回答

liuyubobobo

2018-11-20

整体而言,你可以把向量,就理解成向量,而不管他是行向量还是列向量。行向量和列向量,是在矩阵中才有的概念。如果单独拿出一个向量,他就是一个向量,是一个含有n个元素的有序实数元组。我们通把它写成一列的样子,而已。此时,我们并不说他是行向量还是列向量,它就是向量。


所以:


向量和向量相乘,和行向量列向量一点儿关系都没有。因为此时的语境中根本没有矩阵。两个向量点乘,就是课程中讲的定义:)


矩阵A和向量b的乘法,其中的定义,就是把矩阵A中的每一个行向量,和这个向量b进行点乘,如果矩阵A有m行,则就有m个行向量和这个向量b点乘,得到m个数,最终得到一个m维的结果向量。在这个过程中,从矩阵中取出行向量,这个“行向量”的用语是有意义的,因为说列向量完全不一样。但是每取出一个行向量,这个行向量和向量b点乘,在这里,这两个向量的点乘,又不需要区分行向量或者列向量了。因为,这就是两个向量的点乘!

但是,矩阵和向量进行乘法,我们通常把那个向量b写成列的形式,这是因为,这样写,和把向量b看做是一个n*1的矩阵,然后,矩阵A和这个矩阵(虽然只有一列)进行矩阵乘法,之中的概念是契合的!这也就是通常,我们使用列向量的原因,在大多数表示中,我们不需要区分它到底是一个向量,还是一个只有一列的矩阵,反正结果都一样,多方便:)


相信此时,你已经理解两个矩阵相乘的情况了。此时,我们每次取出矩阵A的行向量和B的列向量,这里的行向量和列向量的说法都是有意义的,指明我们怎么从矩阵中取出向量。

实际上,课程后续会讲到,我们也可以从另外一个视角看剧真的乘法,每次取出一个列向量和行向量:)


但是,一定要注意,我说两个向量相乘,不用管行列向量,是我们拿这两个向量当做向量看待!有可能,其实,我们会把向量当矩阵看待,此时,行向量是一个行数为1的矩阵;列向量是一个列数为1的矩阵。此时,这个方向是有意义的!一个1*n的矩阵乘以一个n*1的矩阵,结果是一个1*1的矩阵;一个n*1的矩阵乘以一个1*n的矩阵,结果是一个n*n的矩阵:)


希望我解释明白了:)


这个问题也可以参考这里:http://coding.imooc.com/learn/questiondetail/87821.html (基本是一个意思:))


加油!:)

2
1
慕斯卡8323326
非常感谢!
2018-11-20
共1条回复

结合编程学数学 专为程序员设计的线性代数

创新设计,通俗易懂。编程结合数学,bobo带你彻底征服线性代数

3425 学习 · 376 问题

查看课程