Czy były prace nad znalezieniem minimalnej liczby elementarnych operacji arytmetycznych potrzebnych do obliczenia wyznacznika macierzy na dla małej i stałej ? Na przykład .
14
Czy były prace nad znalezieniem minimalnej liczby elementarnych operacji arytmetycznych potrzebnych do obliczenia wyznacznika macierzy na dla małej i stałej ? Na przykład .
Odpowiedzi:
Wiadomo, że liczba operacji arytmetycznych niezbędnych do obliczenia wyznacznika macierzy wynosi , gdzie jest stałą mnożenia macierzy. Zobacz na przykład tę tabelę na Wikipedii, a także jej przypisy i odniesienia. Zauważ, że asymptotyczna złożoność inwersji macierzy jest również taka sama jak mnożenie macierzy w tym samym sensie.n ω + o ( 1 ) ωn×n nω+o(1) ω
Równoważność jest dość skuteczna. W szczególności możesz rekurencyjnie obliczać wyznacznik macierzy , pracując na blokach przy użyciu dopełniacza Schur:( n / 2 ) × ( n / 2 )n×n ( n / 2 ) × ( n / 2 )
Zatem można obliczyć wyznacznik , obliczając dwa wyznaczniki , odwracając jedną macierz , mnożąc dwie pary macierze i niektóre prostsze operacje. Po rozszerzeniu rekurencyjnych wywołań złożoność zostaje zdominowana przez mnożenie i inwersję macierzy.( n / 2 ) × ( n / 2 ) ( n / 2 ) × ( n / 2 ) ( n / 2 ) × ( n / 2 )n × n ( n / 2 ) × ( n / 2 ) ( n / 2 ) × ( n / 2 ) ( n / 2 ) × ( n / 2 )
Działa to dobrze nawet dla małych a nawet bez użycia algorytmów macierzy sub-sześciennej. (Oczywiście kończy się to mniej więcej równoważnością eliminacji Gaussa.) Na przykład dla możemy obliczyć z dwoma mnożeniami, z czterema podziałami, z mnożenia, z dwoma mnożeniami, a ostateczna odpowiedź z jednym mnożeniem. Łączna liczba wynosi pomnożeń plus podziałów, czyli mniej niżn n = 4 det ( D ) re- 1 B D.- 1do 2 × 8 = 16 det ( A - B D- 1do) 2 + 4 + 16 + 2 + 1 = 25 40 z ekspansji kofaktora. Użycie algorytmu Strassena zapisuje tutaj dwa mnożenia, ale bardziej asymptotycznie.
Możesz zauważyć, że to rozszerzenie używa podziału. Jeśli chcesz uniknąć podziału, możesz to zrobić w operacjach , pracując z sekwencjami Clow i programowaniem dynamicznym . Jest również znany sposób w celu uzyskania mnożenia i nie podziałów.O ( n4) n2 + ω / 2 + o ( 1 )
źródło