【发布时间】:2019-06-02 10:17:22
【问题描述】:
给定一个 numpy 数组 M 我想计算该数组的每个 2 组合矩阵的矩阵乘积 M[i] @ M[j].T。在对该矩阵(产品)应用了一些操作之后,我想将结果存储在另一个矩阵中的位置[i,j]。有没有办法在不迭代两个嵌套循环的情况下快速计算?
即我想避免的(因为它需要几个小时)是:
import numpy as np
M = np.random.rand(7000,3,3)
r = np.zeros((len(M), len(M)))
for i in range(len(r)):
for j in range(len(r[0])):
n = M[i] @ M[j].T
r[i,j] = np.linalg.norm(n)
【问题讨论】:
-
v.idx()呢? -
我们正在迭代顶点,
v.idx()表示相应的索引。 -
如果您生成一些样本数据以便检查结果,这会容易得多
-
@yatu 好的,我把代码 sn-p 改成了等价的问题。
-
r的形状是什么?