Numpy vector/matrix 乘法意外工作

Numpy vector/matrix multiplication works unexpectedly

我的代码有问题: 我想按照下面的方式将两个“向量”相乘

# what i want
import numpy as np

a = np.array([1,2,3])
b = np.array([2,3,4,5])
z = f(a,b)

z -> array([
    [2,3,4,5],
    [4,6,8,10],
    [6,9,12,15]
])

f应该怎么定义?

您可以在

等重塑数组上使用 np.matmul 函数
a = np.reshape(a, (3,1))
b = np.reshape(b, (1,4))
np.matmul(a,b)

您可以使用 np.multiply.outer(a, b).