Детермінант узагальненої матриці Вандермонд


10

Матриця Мура схожа на матрицю Вандермонде, але має дещо змінене визначення. http://en.wikipedia.org/wiki/Moore_matrix

Яка складність обчислення визначника заданого повного рангу по матриці Мура деякого цілого числа?n×n

Чи можна детермінант Мура зменшити з за допомогою методів FFT до для деякого ?O(n3)O(nlogan)aR+{0}

Чи складність Moore det modulo є цілим числом, а Vandermonde - однаковим? Складність детермінанта Вандермонде дорівнює (Сторінка 644 у Підручнику з теоретичної інформатики: Алгоритми та складність Яна Левену)O(nlog2n)

Пост, аналогічний поточному: Детермінантний модуль m


Чи можна визначити детермінант Мура за час O (n ^ 3) (у цілій оперативній пам'яті)?
Jeffε

1
@ Jɛ ff E Тому я згадав про модульний випадковий . NN
Т ....

До речі, і мені просто цікаво, чи існують відомі додатки, які принесуть користь такому «надшвидкому» алгоритму?
Хуан Бермеджо Вега

@J ffE, чи знаєте ви, чи обчислюється подвійна модульна експоненція над в BPP для тривіального ?. Тому що це проблема для обчислення коефіцієнтів матриці. N NεNN
Хуан Бермеджо Вега

Відповіді:


4

Взагалі існує теоретичний алгоритм часу для знаходження LU-декомпозиції довільної матриці за допомогою алгоритму Копперсміта-Винограда , який, очевидно, дає детермінантний (додаючи час). Однак існує проблема, що алгоритм Копперсміта-Винограда на практиці не вважається корисним. Афаїк, люди в основному використовують алгоритм Страссена часу . Чи не Підвищіть UBLAS в lu_factorize використовувати це?O ( n ) O ( n 2.807 )O(n2.376)O(n)O(n2.807)

У вашому випадку матриця Мура повинна допускати значні оптимізації, оскільки в основному будь-яка процедура усунення Гаусса, як-от процедура розкладання LU, може бути виконана абстрактно. Дійсно, ви знайдете приємну формулу для обчислення детермінант Мура, на яку посилається wikipedia , і це, мабуть, доводиться просто розробкою розкладу LU загалом.O(n)


Привіт Джефф: Яке посилання ви звертаєтесь до формули O (n ^ 2). Я думаю, що вандермондський дет можна обчислити в О (nlogn), але я не можу знайти посилання. Отож, Мур де також повинен бути в O (nlogn)?
Т ....

Так, я мав би сказати O (n) очевидно, дійсно O (n log n) для великих n.
Джефф Бурджес

Привіт Джефф: У вас є довідка?
Т ....

7
@JeffBurdges: Якщо час запуску становить O (n log n) "для великих n", то за визначенням час виконання - O (n log n), а не O (n).
Jeffε

Я не бачу формули посилається Вікіпедія. У кращому випадку це виглядає Θ ( n 2 ) . O(n)Θ(n2)
Пітер Тейлор

3

Важливо, що у наданому вами визначенні матриця живе в кінцевому полі, скажімо, де m є простим. Це дозволяє використовувати теорему Ейлера для обчислення подвійних експоненціалів які з'являються в матриці за час . Інакше здається важким навіть обчислити матричні коефіцієнти без факторизації .Zmmaqemodma q ia q iO(log(mn)M(logm))м

aqiaqi(modφ(m))(modm)
m

Якщо є простим або його можна ефективно розподілити, найгірша складність переважає кількість етапів, необхідних для множення матриці . Наприклад, підхід звичайної форми Сміта, про який я згадував у публікації партнера , обчислить визначник у часі якщо ви використовуєте "повільно" алгоритми множення . може бути вибрана як 2.373.O ( n ω ) O ( n ωmO(nω) ωO(nωlog2mlog(mn))ω

Ви отримуєте уповільнення у Moore vs Vandermonde, оскільки ви повинні подвоїти експоненцію коефіцієнтів матриці. Коли ви можете розподілити це уповільнення є просто полілогіармічним на . Якщо ні, представлений алгоритм дає скорочення Кука до подвійної модульної експоненції на .м Z mmmZm

Примітка *: більш швидкі алгоритми для цілого множення дозволяють замінити на .M ( log m log log m )log2mM(logmloglogm)


Оновлення : про можливість досягнення .O(nlogan)

Я не маю однозначної відповіді на це, але знайшов деяку інформацію, яка може посилити ваш пошук.

Алгоритми структурованих матриць, які обчислюють величини, такі як детермінанти в часі , в літературі називаються "надшвидкими". Усі відомі "надшвидкісні" алгоритми для структурованих матриць (Вандермонд, Топліц, Хенкель), схоже, покладаються на загальну властивість цієї матриці, відому як низький "ранг переміщення". Розгляньте обговорення в першому розділі цієї книги (сторінки з відкритим доступом) або в цій статті [ACM] , [PDF] .O(nlogan)

З того, що я прочитав, враховуючи Мур матриці , якщо ви були в змозі знайти матриці , , так що нова матриця (або як альтернативи ) має таку структуруM A B L ( M ) = A M - M B L ( M ) = M - A M Bm×nMABL(M)=AMMBL(M)=MAMB

L(M)=k=1rgkhkT

, а ранг невеликий (або постійний, або обмежений ), тоді ви можете застосувати існуючі методи (перевірте розділ 5 книги, відкрите- доступ до сторінок) до триангулізації і, отже, обчислення , використовуючи . Вище , позначають вектори. Якщо ви не можете знайти книгу вище, щоб прочитати всю справу, у цій статті є також багато інформації про ці методи.o ( хвr>0g k h ko(min{m,n})det M O ( n log 2 n )MdetMO(nlog2n)gkhk

На жаль, мені не вдалося знайти структуру ранжирів з низьким зміщенням для матриці Мура (Вандермонд має). Основне ускладнення тут, здається, виникає з "нелінійного" характеру подвійної експоненції. Якщо це допомагає, у книзі опрацьовуються справи про Вандермонде, Коші, Тепліц, Хенкель.


Я можу зробити свою матрицю живою в полі . Однак розмір алфавітів для моєї призначеної програми буде великим. Отже має форму для деякого досить великого . м 3 к к3m3kk
Т ....

Це добре, оскільки ви можете обчислити тотативну функцію :)3k
Juan Bermejo Vega

добре, що не спрощує складність, я б сказав, оскільки поле дуже велике.
Т ....

Це спрощує проблеми, які я згадую з подвійною експоненцією. Оскільки , ви можете використовувати теорему Ейлера, щоб подвоїти показник : по-перше, обчислити , то . Це можна зробити за час . Використовуючи алгоритм розмноження школи, , і ви отримаєте остаточну "нетто" вартість яка є ефективною. a q iφ(3k)=3k3k1b = q iaqimodma bb=qimodφ(3k) O ( log ( n 3 k ) M ( k log 3 ) ) M ( n ) = n 2 O ( n ω k 2 l o g 2 3 ( log n + k log 3 ) )abmod3kO(log(n3k)M(klog3))M(n)=n2O(nωk2log23(logn+klog3))
Хуан Бермеджо Вега

Чи можемо ми замінити на ? Це економія, про яку мені цікаво (можливо, це можливо з матричної структури). З я нічого не отримую за своїм призначенням. 1 + ϵ ω 2ω1+ϵω2
Т ....
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.