Перебор различных перестановок вектора в Pari/GP

Я хочу перебрать все различные перестановки вектора. Я попытался сделать это, используя vecextract() в сочетании с numtoperm() для создания вектора перестановок и vecsort(,,,8) для удаления эквивалентных перестановок.

К сожалению, это плохо масштабируется: максимальный размер вектора в моем текущем размере стека 4 ГБ меньше 12!, а на моей машине всего 16 ГБ.

Есть ли способ сделать это без нехватки памяти, может быть, путем генерирования k-й отдельной перестановки напрямую?


person Joe Slater    schedule 07.01.2019    source источник


Ответы (1)