Komplexität beim Auffinden der pseudoinversen Matrix

11

Wie viele arithmetische Operationen sind erforderlich, um eine Moore-Penrose-Pseudoinverse-Matrix eines beliebigen Feldes zu finden?

Wenn die Matrix invertierbar und komplex bewertet ist, ist sie nur umgekehrt. Das Finden der Umkehrung dauert , wobei die Matrixmultiplikationskonstante ist. Es ist Satz 28.2 in Einführung in Algorithmen 3. Auflage.ωO(nω)ω

Wenn die Matrix hat linear unabhängigen Reihen oder Spalten und komplexwertige, kann die Pseudo - Inverse - Matrix mit berechnet werden oder jeweils , wobei die konjugierte Transponierte von . Insbesondere bedeutet dies eine Zeit für die Pseudo - Inversen des Finden .A ( A A ) - 1 ( A A ) - 1 A A A O ( n ω ) A.AA(AA)1(AA)1AAAO(nω)A

Für die allgemeine Matrix verwenden die Algorithmen, die ich gesehen habe, QR-Zerlegung oder SVD, die im schlimmsten Fall -Arithmetikoperationen zu verwenden scheint . Gibt es Algorithmen, die weniger Operationen verwenden?O(n3)

Chao Xu
quelle
Ich habe eine Folge, es könnte zu grundlegend sein, aber können Sie bitte bestätigen, was hier in der Komplexitätsgleichung n ist. Ist es die Dimension einer Matrix und was ist, wenn die Matrix kein Quadrat ist?
Mike Pomp
In der Behauptung, dass das Inverse in der -Zeit gefunden werden kann, ist tatsächlich die Dimension der quadratischen Matrix; Wenn die Matrix nicht quadratisch ist, können Sie wahrscheinlich als größere Dimension annehmen . n nO(nω)nn
David Richerby
Da dies eine einfache Frage ist, habe ich sie hier beantwortet. Wenn Sie jedoch weitere Fragen haben, stellen Sie diese bitte als eigene Seite über die Schaltfläche "Frage stellen" oben auf der Seite. Sie können auf diese Seite zurückgreifen, um den Kontext anzugeben. Diese Seite ist nur für eine Frage pro Seite eingerichtet: Es gibt kein Threading und die Beiträge bewegen sich entsprechend den Stimmen, die sie erhalten, sodass die Dinge mit mehr als einer Frage auf einer Seite furchtbar chaotisch werden. Weitere Informationen finden Sie auf unserer kurzen Tour und in unserer Hilfe .
David Richerby

Antworten:

7

Zuallererst neigen die Leute dazu zu vergessen, dass ein Infimum ist. Immer wenn wir schreiben , meinen wir tatsächlich für alle , gibt es einen Algorithmus, der in der Zeit läuft .O ( n ω ) γ > ω O γ ( n γ )ωO(nω)γ>ωOγ(nγ)

Keller-Gehrig zeigte (unter anderem), wie man eine Matrix in Rangnormalform in der Zeit . Wenn Rang hat , dann eine Rang normale Form ist für einige invertierbare der geeigneten Abmessungen; siehe auch Algebraische Komplexitätstheorie, Satz 16.13 auf Seite 435.AO(nω)ArA

S(Ir000)T
S,T

Rank Normalform ist ähnlich der rank Zersetzung in dem Artikel Wikipedia erwähnt, wobei hat Spalten und hat Zeilen. In der Tat können wir als die ersten Spalten von und als die ersten Zeilen von . Angesichts dieser Zerlegung gibt Wikipedia eine Formel für die Pseudoinverse an, bei der nur Hermitian Adjoint, Matrixmultiplikation und Matrixinverse verwendet werden. Daher kann die Pseudoinverse in der Zeit berechnet werden .A=XYXrYrXrSYrTO(nω)

Yuval Filmus
quelle
Danke für die Antwort! Ich habe das Papier bekommen und festgestellt, dass mir der Hintergrund fehlt. Gibt es einige gute Einführungen / Umfragen zu dieser Art von Ergebnissen? Ich weiß, dass das Buch der Algebraischen Komplexitätstheorie gut ist, aber derzeit ist es aus der Bibliothek
Chao Xu
1
Möglicherweise gibt es relevante Vorlesungsunterlagen, obwohl es wahrscheinlich am besten ist, sich das Buch anzusehen. CLRS (Einführung in Algorithmen) enthält auch einige relevante Materialien, wie z. B. die Äquivalenz zwischen Matrixmultiplikation und Matrixinverse.
Yuval Filmus
Also gilt im Allgemeinen? Können Sie mir einen Hinweis geben, was die "Matrixmultiplikationskonstante" ist? O(nω)w
Ben
Wir kennen den Wert von . Die beste Obergrenze aufgrund von Le Gall ist ω < 2,3728639 . Es wird vermutet, dass ω = 2 ist . ωω<2.3728639ω=2
Yuval Filmus