【发布时间】:2014-02-22 01:45:20
【问题描述】:
我想在不使用嵌套循环的情况下迭代大小为 n 的方阵主对角线上方的条目。
例如,如果矩阵 M 的大小为 n=3,则对角线上方有 choose(3,2)=3 个条目。其中choose是二项式系数。
for(i=1 to choose(n,2))
row = getRow(i)
col = getCol(i)
M[row,col] = some value
我还没有想出一个基于索引 i 获取行和列的公式。
例如:
对于大小为 3 且索引从 1 开始的矩阵,
i=1 对应 row = 1 和 col = 2
i=2 对应 row = 1 和 col = 3
i=3 对应 row = 2 和 col = 3
【问题讨论】:
-
出于什么原因要避免嵌套循环?
-
@pkacprzak 因为我想并行执行它以便简化事情,我也很好奇
-
@Enrique 看到我的回答。
标签: loops math matrix combinatorics