我有一些约束的形式
A_{i,j,k} = r_{i,j}B_{i,j,k}
A
是nxmxp
矩阵,B也是。r
是nxm
矩阵。你知道吗
我想以某种方式用Python将其矢量化,尽可能高效。现在,我通过说r_{i,j,k} = r_{i,j} for all 1 <= k <= p
把r
变成nxmxp
矩阵。然后我在r
和B
上调用np.multiply
。这似乎效率低下。有什么想法欢迎,谢谢。你知道吗
def ndHadamardProduct(r, n, m, p): #r is a n x m matrix, p is an int
rnew = np.zeros(n, m, p)
B = np.zeros(n, m, p)
for i in range(n):
for j in range(m):
for k in range(p):
r[i, j, k] = r[i, j]
B[i, j, k] = random.uniform(0, 1)
return np.multiply(r, B)
用
np.newaxis
添加一个额外的维度,然后broadcasting为您处理重复。你知道吗相关问题 更多 >
编程相关推荐