большая плотная задача низкого ранга

9

Есть ли достаточно дешевый метод для решения большой, плотной задачи низшего ранга maxπiAπi,iгде π пробегает все перестановки. 1:n ?

Здесь A - матрица n×n низкого ранга r . Типичные размеры будут n=10000   (возможно, намного больше), r=15 .

Арнольд Ноймайер
источник
1
Под πi имею в виду продукт, чтобы вы проходили матрицу по разным π ?
Билл Барт
π пробегает все перестановки.
Арнольд Ноймайер
Разве это не Aπ(i),i тогда?
Джек Поулсон
@JackPoulson: \i(i) и πi - две разные записи для образа i при перестановке π .
Арнольд Ноймайер
Интересный вопрос! Вы хотите использовать низкоранговую структуру только по причинам хранения - то есть, чтобы избежать необходимости формировать всю матрицу при применении традиционного алгоритма назначения? Или вы ищете способ использовать низкое звание для ускорения поиска?
Майкл Грант

Ответы:

3

Поскольку с , мы имеем где - матрица перестановок, соответствующая .A=R1R2TR1,R2Rn×r

iAπi,i=i(PπA)i,i=trace(PπR1R2T)
Pππ

Для любого трасса может быть вычислена как (Это количество также известно как произведение Фробениуса , ).π

trace(PπR1R2T)=ik(PπR1)i,k(R2T)k,i=i,k((PπR1)R2)i,k.
PπR1:R2

Эта идея не отнимает бремя, чтобы пройти через все перестановки и перебор поиск максимума всех продуктов Фробениуса, и на самом деле имеет ту же арифметическую сложность, явно вычисляя . Тем не менее, она имеет гораздо более низкие требования к памяти , так как вы никогда не должны фактически формировать .A=R1R2TA

Нико Шлёмер
источник