如何用不匹配的维数进行矢量化

2024-10-02 20:35:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一些约束的形式

A_{i,j,k} = r_{i,j}B_{i,j,k}

Anxmxp矩阵,B也是。rnxm矩阵。你知道吗

我想以某种方式用Python将其矢量化,尽可能高效。现在,我通过说r_{i,j,k} = r_{i,j} for all 1 <= k <= pr变成nxmxp矩阵。然后我在rB上调用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)

Tags: inforisnp方式zerosrange矩阵