【发布时间】:2018-12-19 19:22:51
【问题描述】:
我正在使用矩阵来计算图中节点之间的关系组合(细节无关紧要)。
我有一个 N*N 邻接矩阵,行和列对应节点。因此,位置 [5,7] 是节点 5 与节点 7 的次数。[7,5] 也是如此。位置[3,3]是节点3总共出现了多少次,所以总共出现了多少次。
在每个循环中,我都必须减少我的矩阵。我取一个大小为 n 的向量,然后用该向量减去矩阵对角线。所以,我正在减少每个节点的总数:就像我的矩阵中的 [1,1] 和 [2,2] 和 [3,3] 等等。
希望到目前为止我说得通。这是这个问题。
此时,我已经修改了矩阵的对角线。现在,我想修改每个位置 [i,j]
i != j and matrix[i,j] != 0
我想修改它:
matrix[i,j] = min(matrix[i,i],matrix[j][j])
现在我当然可以遍历每个索引对 (i,j) 并执行我刚才写的操作。但这很慢。我希望有一些聪明的数学或 numpy 技巧可以使这更快。
谢谢!
【问题讨论】:
标签: python numpy matrix linear-algebra