有没有一种方法可以构建两个具有不同形状的矩阵的点积,而无需使用其他任何东西作为纯 python和numpy ? 列的形状应相同,但行应不同。 (下面的示例) 我当然知道暴力破解的方式:
for i in A:
for j in B:
np.dot(A,B)
但是还有别的吗?
这里有个例子:
import numpy as np
A = np.full((4,5),3)
B = np.full((3,5),5)
print(A)
print(B)
result = np.zeros((A.shape[0],B.shape[0]))
for i in range(A.shape[0]):
for j in range(B.shape[0]):
result[i,j] = np.dot(A[i],B[j])
print(dot)
输出:
A = [[3 3 3 3 3]
[3 3 3 3 3]
[3 3 3 3 3]
[3 3 3 3 3]]
B = [[5 5 5 5 5]
[5 5 5 5 5]
[5 5 5 5 5]]
result = [[75. 75. 75.]
[75. 75. 75.]
[75. 75. 75.]
[75. 75. 75.]]
煤是要计算没有两个回路的点积。那么有没有更有效的方法?