我有一个张量U,由n个维度为(d,k)的矩阵组成,还有一个维度为(k,n)的矩阵V。
我想将它们相乘,使结果返回一个维度为(d,n)的矩阵,其中第j列是U矩阵中第j个矩阵和V的第j列矩阵相乘的结果。
我想知道是否有更快的方法,可以使用
这个小片段允许我将单个矩阵乘以标量,但对向量的明显推广并没有返回我所希望的结果。
任何建议?
我想将它们相乘,使结果返回一个维度为(d,n)的矩阵,其中第j列是U矩阵中第j个矩阵和V的第j列矩阵相乘的结果。
一种可能的方法是:
for j in range(n):
res[:,j] = U[:,:,j] * V[:,j]
我想知道是否有更快的方法,可以使用
numpy
库。特别是我在考虑np.tensordot()
函数。这个小片段允许我将单个矩阵乘以标量,但对向量的明显推广并没有返回我所希望的结果。
a = np.array(range(1, 17))
a.shape = (4,4)
b = np.array((1,2,3,4,5,6,7))
r1 = np.tensordot(b,a, axes=0)
任何建议?