标签: combinatorics pari-gp
我想遍历向量的所有不同排列。我尝试通过将vecextract()与numtoperm()结合使用来创建置换向量,并使用vecsort(,,,8)来删除等效置换来进行此操作。
vecextract()
numtoperm()
vecsort(,,,8)
不幸的是,这不能很好地扩展:在我当前的4GB堆栈大小内,向量的最大大小小于12 !,而我的计算机只有16GB。
是否有一种方法可以在不耗尽内存的情况下进行操作,也许可以直接生成第 k 个不同的排列?
答案 0 :(得分:0)
PARI没有为此内置任何内容。我建议阅读How to generate all the permutations of a multiset?。