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 eZmm 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 .
zaqja≡ aqja( modφ ( m ) )( modm )
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 ωmO ( 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 .mmZm
Uwaga *: szybsze algorytmy mnożenia liczb całkowitych pozwalają zastąpić z M ( log m log log m ) .log2)mM.( 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 × nM.ZAbL ( M) = A M.- MbL ( M) = M- Mb
L ( M) = ∑k = 1rsolkhT.k
, 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 ksolkhk
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.