Macierz Moore'a jest podobna do macierzy Vandermonde, ale ma nieco zmodyfikowaną definicję. http://en.wikipedia.org/wiki/Moore_matrix
Jaka jest złożoność obliczenia wyznacznika danego pełnego rzędu macierzy Moore'a modulo jakiejś liczby całkowitej?
Czy wyznacznik Moore'a można zredukować z przy użyciu technik FFT do dla niektórych ?O ( n log a n ) a ∈ R + ∪ { 0 }
Czy złożoność Moore det modulo jest liczbą całkowitą, a Vandermonde jest taka sama? Złożoność wyznacznika Vandermonde'a to (Strona 644 w Handbook of Theoretical Computer Science: Algorytmy i złożoność Jan Leeuwen)
Post podobny do bieżącego: Determinant modulo m
Odpowiedzi:
Ogólnie rzecz biorąc, istnieje teoretyczny algorytm czasowy do znajdowania dekompozycji LU dowolnej macierzy przy użyciu algorytmu Coppersmitha-Winograda , który następnie oczywiście wyznacza wyznacznik (dodając czas O ( n ) ). Istnieje jednak problem polegający na tym, że algorytm Coppersmith – Winograd nie jest uważany za przydatny w praktyce. Afaik, ludzie najczęściej używają algorytmu Strassena czasu O ( n 2.807 ) . Czy Bo_Factorize nie wykorzystuje Boost w UBLAS ?O ( n2,376) O ( n ) O ( n2,807)
W twoim przypadku macierz Moore'a powinna pozwolić na znaczną optymalizację, ponieważ w zasadzie każda procedura eliminacji Gaussa, taka jak rozkład LU, może być przeprowadzona abstrakcyjnie. Rzeczywiście, znajdziesz fajną formułę do obliczania wyznacznika Moore'a , do którego odwołuje się wikipedia , co prawdopodobnie można udowodnić, po prostu opracowując rozkład LU w ogóle.O ( n )
źródło
Ważne jest, aby w podanej definicji macierz żyła w polu skończonym, powiedzmy gdzie m jest liczbą pierwszą. Pozwala to użyć twierdzenia Eulera do obliczenia podwójnych wykładniczych a q eZm m które pojawiają się w macierzy w czasie O ( log ( m n )zaqmimodm .
a q i ≡ a q iO ( log( m n )M.( logm ) )
W przeciwnym razie wydaje się trudne nawet obliczenie współczynników macierzy bez faktoryzacji m .
Jeśli jest liczbą pierwszą lub można je efektywnie rozłożyć na czynniki, w najgorszym przypadku złożoność jest zdominowana przez liczbę kroków potrzebnych do mnożenia macierzy O ( n ω ) . Na przykład podejście normalnej formy Smitha , o którym wspomniałem w poście partnerskim , obliczałoby wyznacznik w czasie O ( n ωm O ( nω) jeśli używasz „powolnych” algorytmów mnożenia ∗ . ω można wybrać jako 2,373.O ( nωlog2)mlog( m n ) ) ∗ ω
Dostajesz spowolnienie w Moore vs Vandermonde ponieważ należy podwoić-exponentiate współczynniki macierzy. Kiedy można wyliczyć to spowolnienie jest po prostu polilogarytmiczne na m . Jeśli nie, przedstawiony algorytm daje redukcję Cooka do potęgowania podwójnego modułowego na Z m .m m Zm
Uwaga *: szybsze algorytmy mnożenia liczb całkowitych pozwalają zastąpić z M ( log m log log m ) .log2)m M.( logm loglogm )
Aktualizacja : w sprawie możliwości osiągnięcia .O ( n logzan )
Nie mam na to jednoznacznej odpowiedzi, ale znalazłem informacje, które mogą przyspieszyć wyszukiwanie.
Algorytmy dla strukturalnych macierzy, które obliczają wielkości takie jak wyznaczniki w czasie są w literaturze nazywane „superszybkimi”. Wszystkie znane „superszybkie” algorytmy dla matryc strukturalnych (Vandermonde, Toeplitz, Hankel) wydają się polegać na wspólnej właściwości tych matryc, znanej jako „niski stopień przemieszczenia”. Przeprowadź dyskusję na temat pierwszego rozdziału tej książki (strony z otwartym dostępem) lub w tym artykule [ACM] , [PDF] .O ( n logzan )
Z tego, co przeczytałem, biorąc pod uwagę macierzy Moore'a M , gdybyś był w stanie znaleźć macierze A , B takie, że nowa macierz L ( M ) = A M - M B (lub alternatywnie L ( M ) = M - A M B ) ma następującą strukturęm × n M. ZA b L ( M) = A M.- Mb L ( M) = M- Mb
, a ranga jest mała (stała lub ograniczona przez o ( minr > 0 ), a następnie możesz zastosować istniejące techniki (sprawdź rozdział 5 książki, strony z otwartym dostępem) do trójkątnego M, a zatem obliczyć det M , używając O ( n log 2 n ) . Powyżej,,oznaczają wektory. Jeśli nie możesz znaleźć powyższej książki, aby przeczytać całość,ten artykułzawiera również wiele informacji na temat tych metod.O ( min{ m , n } ) M. det M. O ( n log2)n ) h ksolk hk
Niestety, nie byłem w stanie znaleźć struktury o niskim stopniu przesunięcia dla matrycy Moore'a (ma Vandermonde). Wydaje się, że główna komplikacja wynika z „nieliniowej” natury podwójnego wykładniczego. Jeśli to pomoże, sprawy dotyczące Vandermonde, Cauchy, Toeplitz, Hankel zostały opracowane w książce.
źródło