矩阵乘法行为

2024-04-30 03:00:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我有个问题要理解numpy中的矩阵乘法。 例如,我有以下矩阵(2d numpy数组):

a = [ [ 1. 1. ]
      [ 1. 2. ]
      [ 1. 3. ] ]

和下面的行向量θ:

^{pr2}$

用θ乘以a的唯一方法是变换 首先在列向量中求θ,然后得到结果:

result = [ [ 2. ]
           [ 3. ]
           [ 4. ] ]

当我把矩阵和行向量相乘时(没有变换)

result = np.dot(a,theta)

我明白了:

result = [ 2. 3. 4. ]

这怎么可能?我的意思是,我没有转换矩阵。 你能告诉我这个纽比乘法是怎么工作的吗? 谢谢你的关注。在


Tags: 方法numpynp矩阵数组result向量dot
1条回答
网友
1楼 · 发布于 2024-04-30 03:00:07

不,你是在把numpy数组和另一个numpy数组相乘(不是一个有向量的矩阵),尽管看起来像这样。这是因为,本质上,numpy数组与矩阵不同。而点积也是这样处理的。在

如果你写出数组并乘上,你就会明白为什么。它只是数组'a'中每一行与向量'theta'的点乘(元素相乘)。在

注:(矩阵是二维的,而数组不受任何维度的限制)

另外,请看一下this answer和{a2}

相关问题 更多 >