我想定义我自己的加法运算符,它采用Nx1向量(称之为A)和1xN向量(B),使得第i行和第j列中的元素是i ^的总和。 A中的元素和B中的第j个元素。此处说明了一个例子。
我能够为函数编写以下代码(据我所知它是正确的)。
def test_fn(a, b):
a_len = a.shape[0]
b_len = b.shape[1]
prod = np.array([[0]*a_len]*b_len)
for i in range(a_len):
for j in range(b_len):
prod[i, j] = a[i, 0] + b[0, j]
return prod
但是,我正在使用的向量包含数千个元素,上面的函数非常慢。我想知道是否有更好的方法来解决这个问题,或者是否有一个numpy
函数可以使用。任何帮助,将不胜感激。