Hier gibt es zwei verschiedene Probleme.
- Verwendung effizienter Löser für , um anzuwenden .Ax=bA1/2b
- Wie berechnet man die Determinante?
Die kurzen Antworten lauten: 1) Verwenden Sie Näherungen für rationale Matrixfunktionen und 2) Sie tun dies nicht, müssen es aber trotzdem nicht. Ich gehe auf diese beiden Probleme weiter unten ein.
Matrix Quadratwurzel Approximationen
Die Idee hier ist, eine rationale Funktionsnäherung für Skalarfunktionen in eine rationale Funktionsnäherung für Matrixfunktionen umzuwandeln.
Wir wissen, dass es rationale Funktionen gibt, die sich der Quadratwurzelfunktion sehr gut annähern können:
für positives . Um eine hohe Genauigkeit für das Intervall erzielen, benötigen Sie Terme in der Reihe. Um die entsprechenden Gewichte ( ) und Pole ( ) zu erhalten, suchen Sie einfach online oder in einem Buch nach der Näherung rationaler Funktionen.
x−−√≈r(x):=a1x+b1+a2x+b2+⋯+aNx+bN,
bi[m,M]O(logMm)ai−bi
Wenden Sie nun diese rationale Funktion auf Ihre Matrix an:
r(A)=a1(A+b1I)−1+a2(A+b2I)−1+⋯+aN(A+bNI)−1.
Aufgrund der Symmetrie von haben wir
wobei die Singularwertzerlegung (SVD) von . Die Qualität der rationalen Matrixnäherung entspricht also der Qualität der rationalen Funktionsnäherung am Ort der Eigenwerte.A
||A1/2−r(A)||2=||U(Σ1/2−r(Σ))U∗||2,=maxi|σi−−√−r(σi)|
A=UΣU∗A
Indem wir die Bedingungsnummer von mit , können wir auf jede gewünschte Toleranz anwenden, indem wir positiv verschobene Laplace-Lösungen der Form
AκA1/2bO(logκ)
(A+bI)x=b.
Diese Lösungen können mit Ihrem bevorzugten Laplace-Löser durchgeführt werden. Ich bevorzuge Techniken vom Typ Multigrid, aber die in dem von Ihnen zitierten Artikel sollte auch in Ordnung sein. Das zusätzliche hilft nur bei der Konvergenz des Lösers.bI
Eine ausgezeichnete Arbeit, die dies diskutiert, sowie allgemeinere komplexe Analysetechniken, die für unsymmetrische Matrizen gelten, finden Sie unter Berechnen von , und verwandtenAαlog(A) Matrixfunktionen durch Konturintegrale von Hale, Higham und Trefethen (2008) ).
Determinante "Berechnung"
Die Determinante ist schwerer zu berechnen. Soweit ich weiß, besteht der beste Weg darin, die Schur-Zerlegung mit dem QR-Algorithmus zu berechnen und dann die Eigenwerte aus der Diagonale der oberen Dreiecksmatrix abzulesen . Dies dauert , wobei die Anzahl der Knoten im Diagramm ist.A=QUQ∗UO(n3)n
Die Berechnung von Determinanten ist jedoch ein inhärent schlecht konditioniertes Problem. Wenn Sie also jemals eine Arbeit lesen, die sich auf die Berechnung von Determinanten einer großen Matrix stützt, sollten Sie der Methode sehr skeptisch gegenüberstehen.
Zum Glück brauchen Sie die Determinante wahrscheinlich nicht wirklich. Beispielsweise,
Wir können als eine niedrigrangige Aktualisierung der Identität ,
wobei die effektive Der Rang der Aktualisierung mit niedrigem Rang ist ein lokales Maß dafür, wie nicht-Gauß die wahre Verteilung ist. Typischerweise ist dies viel niedriger als der volle Rang der Matrix. Wenn groß ist, ist die wahre Verteilung lokal so nicht-Gaußsch, dass man die gesamte Strategie in Frage stellen sollte, diese Verteilung unter Verwendung lokaler Gaußscher Näherungen abzutasten.A−1x0Axp
A−1x0Axp=I+QDQ∗,
rr
Die niedrigrangigen Faktoren und können mit randomisierter SVD oder Lanczos gefunden werden, indem die Matrix
auf verschiedene Vektoren , für deren Anwendung jeweils ein Graph erforderlich ist Laplace-Lösung. Somit ist die Gesamtarbeit zum Erhalten dieser Faktoren mit niedrigem Rang .QD
A−1x0Axp−I
O(r)O(rmax(n,E))
Wenn man , ist das Determinantenverhältnis dann
D=diag(d1,d2,…,dr)
det(A−1x0Axp)=det(I+QDQ∗)=exp(∑i=1rlogdi).
Diese Berechnungsverfahren für die Determinantenration mit niedrigem Rang finden sich in einer stochastischen Newton-MCMC-Methode für großräumige statistische inverse Probleme bei der Anwendung auf die seismische Inversion von Martin et al. (2012). In diesem Artikel wird es auf Kontinuumsprobleme angewendet, sodass der "Graph" ein Gitter im 3D-Raum ist und der Graph Laplace die tatsächliche Laplace-Matrix ist. Alle Techniken gelten jedoch für allgemeine Graph-Laplace-Werte. Es gibt wahrscheinlich andere Artikel, die diese Technik inzwischen auf allgemeine Grafiken anwenden (die Erweiterung ist trivial und im Grunde das, was ich gerade geschrieben habe).