Czy istnieje metoda do rozwiązania układów liniowych formy gdzie jest stałą macierzą SPD, a są dodatnimi macierzami diagonalnymi?
Na przykład, jeżeli każdy jest skalarem, wystarczy obliczyć SVD . Jest to jednak podział na ogólne powodu braku przemienności.
Aktualizacja : Jak dotąd odpowiedzi są „nie”. Czy ktoś ma jakąś ciekawą intuicję, dlaczego? Brak odpowiedzi oznacza, że nie ma niebanalnego sposobu kompresji informacji między dwoma nieprzybywającymi operatorami. Nie jest to zaskakujące, ale byłoby wspaniale zrozumieć to lepiej.
linear-algebra
algorithms
performance
complexity
Geoffrey Irving
źródło
źródło
Odpowiedzi:
Najbliższe pozytywne odpowiedzi na twoje pytanie, jakie mogłem znaleźć, dotyczą rzadkich przekątnych zaburzeń (patrz poniżej).
To powiedziawszy, nie znam żadnych algorytmów dla ogólnego przypadku, chociaż istnieje uogólnienie techniki, o której wspomniałeś, dla przesunięć skalarnych z macierzy SPD na wszystkie macierze kwadratowe:
Biorąc pod uwagę dowolną macierz kwadratową , istnieje rozkład Schura , gdzie jest jednostkowy, a jest górny trójkątny, a zapewnia rozkład Schura . Zatem Twój pomysł na wstępne obliczenia obejmuje wszystkie macierze kwadratowe za pomocą algorytmu:A = U T U H U T A + σ I = U ( T + σ I ) U H A + σ IA A=UTUH U T A+σI=U(T+σI)UH A+σI
Ta linia rozumowania ogranicza się do podejścia, o którym wspominałeś, gdy jest SPD, ponieważ rozkład Schura zmniejsza się do EVD dla normalnych macierzy, a EVD pokrywa się z SVD dla Hermitianowych macierzy dodatnich.A
Odpowiedź na aktualizację: dopóki nie mam dowodu, którego nie mam, odmawiam twierdzenia, że odpowiedź brzmi „nie”. Mogę jednak podać wgląd w to, dlaczego jest to trudne, a także inną podkladę, w której odpowiedź brzmi „tak”.
Podstawowa trudność polega na tym, że chociaż aktualizacja jest diagonalna, to nadal jest na ogół w pełnej randze, więc podstawowe narzędzie do aktualizacji odwrotności, formuła Shermana-Morrisona-Woodbury'ego , nie wydaje się pomóc. Chociaż skrzynia przesunięcia skalarnego ma również pełną rangę, jest to wyjątkowo wyjątkowy przypadek, ponieważ, jak wspomniałeś, dojeżdża do każdej macierzy.
Powiedziawszy to, jeśli każde było rzadkie, tj. Każdy miał matthcal nonzeros, wówczas formuła Shermana-Morrisona-Woodbury daje rozwiązanie z każdą parą . Na przykład z pojedynczą niezerową na tej pozycji po przekątnej, tak że :D O(1) O(n2) {D,b} j D=δejeHj
gdzie jest tym standardowym wektorem podstawowym . jej j
Kolejna aktualizacja: powinienem wspomnieć, że wypróbowałem warunek wstępny który @GeoffOxberry zasugerował na kilku losowych matrycach SPD za pomocą PCG i, co może dziwić, wydaje się znacznie zmniejszać liczbę iteracji, gdy jest mały, ale nie, gdy jest to lub większy. 1000 × 1000 | | D | | 2 / | | A | | 2 O ( 1 )A−1 1000×1000 ||D||2/||A||2 O(1)
źródło
Jeśli jest dominujący po przekątnej dla każdego , to do rozwiązania każdego systemu w można zastosować najnowsze prace Koutisa, Millera i Penga (patrz strona Koutisa dotycząca pracy nad symetrycznymi macierzami diagonalnie dominującymi) w czasie (w rzeczywistości czas, w którym jest maksymalna liczba niezerowych wpisów w w stosunku do wszystkich , więc możesz również skorzystać ze sparaliżacji). Wówczas całkowity czas działania wyniósłby , co jest lepsze niż(Di+A) i O(n2log(n)) O(mlog(n)) m (Di+A) i O(n2log(n)k) O(n3k) podejście do rozwiązywania każdego układu naiwnie za pomocą gęstej algebry liniowej, ale nieco gorszej niż kwadratowy czas pracy, o który prosisz.
Znaczące sparsity w dla wszystkich może być wykorzystywana przez rzadkie rozwiązują otrzymując algorytm, ale zgaduję że jeśli miały znaczący, to sparsity wspomniałby o tym.(Di+A) i O(n2k)
Możesz także użyć jako warunku wstępnego rozwiązania każdego systemu za pomocą iteracyjnych metod i zobacz, jak to działa.A−1
Odpowiedź na aktualizację : @JackPaulson ma świetny punkt widzenia z punktu widzenia numerycznej algebry liniowej i algorytmów. Zamiast tego skupię się na argumentach złożoności obliczeniowej.
Złożoność obliczeniowa rozwiązania układów liniowych i złożoność obliczeniowa mnożenia macierzy są zasadniczo równe. (Zobacz Teoria złożoności algebraicznej ). Jeśli potrafisz znaleźć algorytm, który mógłby kompresować informacje między dwoma nieprzystosowanymi do pracy operatorami (ignorując pozytywną część półfinałową) i bezpośrednio rozwiązać zbiór proponowanych systemów w czasie kwadratowym w , to jest to prawdopodobnie możesz użyć takiego algorytmu do wyciągania wniosków na temat szybszego mnożenia macierzy. Trudno dostrzec, w jaki sposób można zastosować pozytywną strukturę półfinałową w gęstej, bezpośredniej metodzie dla systemów liniowych w celu zmniejszenia jej złożoności obliczeniowej.n
Podobnie jak @JackPaulson, nie chcę powiedzieć, że odpowiedź jest „nie” bez dowodu, ale biorąc pod uwagę powyższe powiązania, problem jest bardzo trudny i jest przedmiotem zainteresowania badawczego. Z asymptotycznego punktu widzenia najlepsze, co możesz zrobić bez użycia specjalnej struktury, to ulepszenie algorytmu Coppersmith i Winograd, uzyskując algorytm , gdzie . Algorytm ten byłby trudny do kodowania i prawdopodobnie byłby powolny w przypadku małych macierzy, ponieważ stały czynnik poprzedzający asymptotyczną ocenę jest prawdopodobnie ogromny w stosunku do eliminacji Gaussa.O(nαk) α≈2.375
źródło
Rozszerzenia Taylora pierwszego rzędu można użyć do poprawy konwergencji w stosunku do zwykłego opóźniania. Załóżmy, że mamy środek przygotowujący (lub czynniki bezpośrednie rozwiązać) dostępny dla , i chcemy ją wykorzystać do wstępnego . Możemy obliczyćA+D A
gdzie do napisania ostatniego wiersza użyto rozszerzenia Taylora. Zastosowanie tego prekondycjonerze wymaga dwóch rozwiązuje z .A+D
Działa dość dobrze, gdy warunek wstępny jest przesunięty od 0 o wartość podobną lub większą niż operator, z którym próbujemy rozwiązać (np. ). Jeśli przesunięcie w warunku wstępnym jest mniejsze ( ), operator warunków wstępnych staje się nieokreślony.D≳0 D≲minσ(A)
Jeśli przesunięcie w kondycjonerze jest znacznie większe niż u operatora, metoda ta ma tendencję do generowania liczby warunków o połowę mniejszej niż w przypadku kondycjonowania przez operatora opóźnionego (w losowych testach, które przeprowadziłem, może być lepsza lub gorsza dla konkretnej klasy matryce). Ten współczynnik 2 w liczbie warunków daje współczynnik w liczbie iteracji. Jeśli koszt iteracji jest zdominowany przez rozwiązania z , nie jest to wystarczający czynnik, aby uzasadnić rozszerzenie Taylora pierwszego rzędu. Jeśli aplikacja matrycowa jest proporcjonalnie droga (np. Masz niedrogi w użyciu preparat wstępny dla ), wówczas ta metoda pierwszego rzędu może mieć sens. A+DA+D2–√ A+D A+D
źródło