numpy matmul给出了奇怪的错误结果

2024-04-18 23:56:26 发布

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

我如何理解以下内容?根据文档,当a和b都是2d数组时,a@b应该是传统的矩阵乘法。你知道吗

>>> np.arange(20).reshape((2,10)) @ np.eye(10)
array([[ 9.,  2.,  4.,  6.,  0.,  1.,  3.,  5.,  8.,  9.],
       [29., 12., 14., 16.,  0., 11., 13., 15., 18., 19.]])

为什么它不只是下列的转置

>>> np.eye(10) @ np.arange(20).reshape((10,2))
array([[ 0.,  1.],
       [ 2.,  3.],
       [ 4.,  5.],
       [ 6.,  7.],
       [ 8.,  9.],
       [10., 11.],
       [12., 13.],
       [14., 15.],
       [16., 17.],
       [18., 19.]])

Tags: 文档np矩阵数组传统arrayeye乘法