有两个数组,形状为(3,10,10)的数组d
和形状为(3,10)的数组e
,如何计算d
的第一个10x10矩阵和e
的第一行的点积,第二个d
的10x10矩阵和e
的第二行的点积,等等
例如,具有以下两个数组:
d = np.array([np.diag([1,1,1,1,1,1,1,1,1,1]),
np.diag([2,2,2,2,2,2,2,2,2,2]),
np.diag([3,3,3,3,3,3,3,3,3,3])])
e = np.arange(30).reshape((3,10))
如何计算3x10阵列:
array([[ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
[20, 22, 24, 26, 28, 30, 32, 34, 36, 38],
[60, 63, 66, 69, 72, 75, 78, 81, 84, 87]])
我尝试过使用np.dot
和np.tensordot
并且在这样做之前还对e
进行了换位和添加一个新的轴,但是我不知道如何解决这个问题。你知道吗
我们可以用^{} -
使用它的
optimize
标志来使用BLAS。你知道吗或
np.matmul
-注意:在python3.x上
np.matmul
可以替换为@ operator
。你知道吗相关问题 更多 >
编程相关推荐