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


10

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

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

Чи можна детермінант Мура зменшити з за допомогою методів FFT до для деякого ?O(n3)O(nloga⁡n)a∈R+∪{0}

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

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


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

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

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

@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 i ≡ a q iO(log⁡(mn)M(log⁡m))м

aqi≡aqi(modφ(m))(modm)
m

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

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

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


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

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

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

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

L(M)=∑k=1rgkhkT

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

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


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

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

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

Це спрощує проблеми, які я згадую з подвійною експоненцією. Оскільки , ви можете використовувати теорему Ейлера, щоб подвоїти показник : по-перше, обчислити , то . Це можна зробити за час . Використовуючи алгоритм розмноження школи, , і ви отримаєте остаточну "нетто" вартість яка є ефективною. a q iφ(3k)=3k−3k−1b = 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(klog⁡3))M(n)=n2O(nωk2log23(log⁡n+klog⁡3))
— Хуан Бермеджо Вега

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