Итерация по различным перестановкам вектора в Pari / GP - PullRequest
0 голосов
/ 07 января 2019

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

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

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

1 Ответ

0 голосов
/ 07 января 2019

Нет ничего встроенного в PARI для этого. Я бы предложил прочитать Как сгенерировать все перестановки мультимножества? .

...