Istnieją tutaj dwa osobne problemy.
- Jak stosować wydajne solwery dla , aby zastosować .Ax=bA1/2b
- Jak obliczyć wyznacznik.
Krótkie odpowiedzi to 1) użyj przybliżeń funkcji racjonalnej macierzy i 2) nie musisz, ale i tak nie musisz. Obie te kwestie omawiam poniżej.
Przybliżenia pierwiastka kwadratowego macierzy
Chodzi tutaj o konwersję aproksymacji funkcji wymiernej dla funkcji skalarnych na aproksymację funkcji wymiernej dla funkcji macierzowych.
Wiemy, że istnieją funkcje wymierne, które mogą bardzo dobrze przybliżać funkcję pierwiastka kwadratowego,
dla pozytywnego . Rzeczywiście, aby uzyskać wysoką dokładność w przedziale , potrzebujesz wyrażeń w serii. Aby uzyskać odpowiednie wagi ( ) i bieguny ( ), po prostu wyszukaj racjonalne przybliżenie funkcji online lub w książce.
x−−√≈r(x):=a1x+b1+a2x+b2+⋯+aNx+bN,
bi[m,M]O(logMm)ai−bi
Rozważmy teraz zastosowanie tej funkcji wymiernej do macierzy:
r(A)=a1(A+b1I)−1+a2(A+b2I)−1+⋯+aN(A+bNI)−1.
Dzięki symetrii mamy
, gdzie to wartości rozkład pojedyncza (SVD) z . Tak więc jakość aproksymacji racjonalnej macierzy jest równoważna jakości aproksymacji funkcji racjonalnej w miejscu wartości własnych.A
||A1/2−r(A)||2=||U(Σ1/2−r(Σ))U∗||2,=maxi|σi−−√−r(σi)|
A=UΣU∗A
Oznaczając numer warunku przez , możemy zastosować do dowolnej pożądanej tolerancji, wykonując dodatnio przesunięte graficznie rozwiązania Laplaciana formy,
AκA1/2bO(logκ)
(A+bI)x=b.
Rozwiązania te można wykonać za pomocą twojego ulubionego solvera Laplaciana - wolę techniki typu wielosiatkowego, ale ta w cytowanej przez ciebie pracy również powinna być w porządku. Dodatkowe pomaga tylko konwergencji solvera.bI
Aby uzyskać doskonały artykuł na ten temat, a także bardziej ogólne techniki analizy złożonej, które mają zastosowanie do macierzy niesymetrycznych, zobacz Obliczanie , i pokrewne funkcje macierzy przez całki konturuAαlog(A) , Hale, Higham i Trefethen (2008 ).
Determinant „obliczenia”
Wyznacznik jest trudniejszy do obliczenia. O ile mi wiadomo, najlepszym sposobem jest obliczenie rozkładu Schura za pomocą algorytmu QR, a następnie odczytanie wartości własnych z przekątnej macierzy górnego trójkąta . Zajmuje to czas , gdzie jest liczbą węzłów na wykresie.A=QUQ∗UO(n3)n
Jednak obliczanie wyznaczników jest z natury źle uwarunkowanym problemem, więc jeśli kiedykolwiek przeczytasz artykuł, który opiera się na obliczaniu wyznaczników dużej macierzy, powinieneś być bardzo sceptyczny wobec tej metody.
Na szczęście prawdopodobnie nie potrzebujesz wyznacznika. Na przykład,
Możemy postrzegać jako niskopoziomową aktualizację tożsamości,
gdzie efektywna liczba rank, , aktualizacji niskiego poziomu jest lokalną miarą tego, jak prawdziwy rozkład niegaussowski; zazwyczaj jest to znacznie niższa niż pełna ranga matrycy. Rzeczywiście, jeśli jest duży, to prawdziwy rozkład jest lokalnie tak niegaussowski, że należy kwestionować całą strategię próbkowania tego rozkładu przy użyciu lokalnych przybliżeń Gaussa.A−1x0Axp
A−1x0Axp=I+QDQ∗,
rr
Czynniki niskiego rzędu i można znaleźć w randomizowanym SVD lub Lanczos, stosując macierz
do różnych wektorów, z których każde zastosowanie wymaga jednego wykresu Rozwiązanie Laplaciana. Zatem ogólna praca na rzecz uzyskania tych czynników niskiej rangi wynosi .QD
A−1x0Axp−I
O(r)O(rmax(n,E))
Znając , wyznacznikiem jest następnie
D=diag(d1,d2,…,dr)
det(A−1x0Axp)=det(I+QDQ∗)=exp(∑i=1rlogdi).
Te techniki obliczania racji wyznaczników niskiej rangi można znaleźć w Stochastycznej metodzie Newtona MCMC dla wielkoskalowych statystycznych odwrotnych problemów z zastosowaniem do inwersji sejsmicznej , Martin, i in. (2012). W tym artykule jest on stosowany do problemów z kontinuum, więc „wykres” jest siatką w przestrzeni 3D, a wykres Laplacian jest rzeczywistą macierzą Laplacian. Jednak wszystkie techniki mają zastosowanie do grafów Laplaciana. Prawdopodobnie są już inne artykuły stosujące tę technikę do ogólnych wykresów (rozszerzenie jest trywialne i zasadniczo to, co właśnie napisałem).