You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

关于Numpy三个数组dot product运算结果不符合预期的疑问

Numpy dot乘积运算不符合预期问题解答

错误原因

np.dot的函数签名为np.dot(a, b, out=None),仅支持最多两个运算参数,第三个参数为可选的输出存储位置,不会参与运算。
你写的np.dot(x,y,c)中,c被识别为输出参数,实际执行的逻辑是将形状为(2,)的数组x与标量y做点积运算,结果写入c对应的内存空间,最终得到的[459, 1053]本质就是x * y的计算结果,和你观测到的输出一致。

正确实现方案

你预期的是一维数组x和一维数组c做外积得到2×2矩阵,再乘以标量y,有以下几种实现方式:

  • 方案1:使用np.outer外积函数
z = y * np.outer(x, c)
  • 方案2:通过数组维度调整配合广播机制实现
z = y * x.reshape(-1, 1) * c.reshape(1, -1)
  • 方案3:使用@矩阵乘法运算符实现
z = y * (x[:, np.newaxis] @ c[np.newaxis, :])

以上三种方案得到的结果均为你预期的2×2矩阵:

[[1377  918]
 [3159 2106]]

内容的提问来源于stack exchange,提问作者user3654852

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 21:24:03