我在找一个能加速排列矩阵创建的代码。 i、 例如,我想创建一个由n列组成的矩阵,其中每个列值迭代m个值,在每行上创建n^m个组合。 在下面的例子中,有两种创建矩阵的方法,在这种情况下,n=7和m=5可以创建类似于的矩阵:
1 1 1 1 1 1 1
1 1 1 1 1 1 2
1 1 1 1 1 1 3
1 1 1 1 1 1 4
1 1 1 1 1 1 5
1 1 1 1 1 2 1
...
5 5 5 5 5 5 5
行的顺序无关紧要,只是创建了所有的组合。 我已经编写了以下两个方法来创建数组,但是metod1非常慢(虽然非常冗长,而且很容易理解),method2使用numpy函数更快。但我仍然需要找到一种更快的方法来创建矩阵。在
^{pr2}$我知道速度也取决于使用的CPU硬件,但我正在寻找一个相对更快的代码,在上面显示。在
还有其他方法/代码吗?在
为此,可以使用^{} 为列1,列2,…,列n创建一个
^{1}$(n, m, m, ..., m)
索引数组,然后将输出重塑为(n ** m, n)
数组:例如:
^{pr2}$相关问题 更多 >
编程相关推荐