Komplexitätsklasse der Matrixinversion

9

Invertiert eine Matrix in der Komplexitätsklasse ?P.

Von der Laufzeit würde ich ja sagen, aber die invertierte Matrix kann Einträge enthalten, bei denen die Größe nicht polynomiell durch die Eingabe begrenzt ist?Ö(n3)

gereizt
quelle
1
In der Praxis bedeutet meistens, dass dies die Grenze für Flops ist , vorausgesetzt, Sie arbeiten an Matrizen über Gleitkommazahlen, die offensichtlich Annäherungen an . Die üblichen Implementierungen werden in dieser Zeitgrenze ausgeführt. Die Einschränkung besteht darin, dass anstelle von Zeitüberschreitungen eine numerische Instabilität auftritt . Dieser Kommentar soll die übliche Behauptung beleuchten und die folgenden Antworten, die "Bignums" annehmen, nicht ungültig machen . Ö(n3)R.
Fizz

Antworten:

7

Ja, es kann in Polynomzeit gemacht werden, aber der Beweis ist ziemlich subtil. Es ist nicht einfach -Zeit, da die Gaußsche Eliminierung das Multiplizieren und Addieren von Zahlen umfasst und die Zeit zum Ausführen jeder dieser arithmetischen Operationen davon abhängt, wie groß sie sind. Bei einigen Matrizen können die Zwischenwerte extrem groß werden, sodass die Gaußsche Eliminierung nicht unbedingt in Polynomzeit abläuft.Ö(n3)

Glücklicherweise gibt es Algorithmen, die in Polynomzeit ausgeführt werden. Sie erfordern viel mehr Sorgfalt beim Entwurf des Algorithmus und der Analyse des Algorithmus, um zu beweisen, dass die Laufzeit polynomisch ist, aber es kann getan werden. Zum Beispiel ist die Laufzeit von Bareiss 'Algorithmus so etwas wie [eigentlich ist es komplexer als das, aber nehmen Sie das vorerst als Vereinfachung].Ö(n5(Logn)2)

Weitere Informationen finden Sie in Dick Liptons Blogeintrag " Ergebnisse vergessen" und " Was ist die tatsächliche zeitliche Komplexität der Gaußschen Eliminierung?" und Wikipedia Zusammenfassung .

Zum Schluss noch ein Wort zur Vorsicht. Die genaue Laufzeit hängt davon ab, über welches Feld Sie gerade arbeiten. Die obige Diskussion gilt, wenn Sie mit rationalen Zahlen arbeiten. Wenn Sie beispielsweise über das endliche Feld (die ganzen Zahlen Modulo 2) arbeiten, läuft die naive Gaußsche Eliminierung in -Zeit ab. Wenn Sie nicht verstehen, was dies bedeutet, können Sie diesen letzten Absatz wahrscheinlich ignorieren.GF.(2)Ö(n3)

DW
quelle
Gilt diese Beobachtung für LU- und QR-Zerlegungen (anstelle von "gerader" Invertierung)?
Fizz
@RespawnedFluff, tolle Frage! Ich weiß es nicht. Das klingt so, als wäre es eine separate Frage wert.
DW
EINx=bÖ(n3lÖG2n)Ö(n4lÖG2n)
2

Es gibt eine Formel für die Einträge der inversen Matrix, die jeden Eintrag als Verhältnis von zwei Determinanten angibt, eine von einer Nebenmenge der ursprünglichen Matrix und die andere von der gesamten ursprünglichen Matrix. Dies sollte Ihnen helfen, die Größe der Einträge in der inversen Matrix zu begrenzen, wenn Sie vorsichtig sind und einen vernünftigen Begriff von "Größe" haben (beachten Sie, dass die Inverse auch dann rationale Einträge enthalten kann, wenn Sie mit einer ganzzahligen Matrix beginnen).

Allerdings wird die Matrixinverse häufig unter dem Gesichtspunkt der algebraischen Komplexitätstheorie untersucht, bei der Sie grundlegende Operationen unabhängig von ihrer Größe zählen. In diesem Modell kann gezeigt werden, dass die Komplexität der Matrixinversen bis zu polylogarithmischen Begriffen der Komplexität der Matrixmultiplikation entspricht; Diese Reduzierung kann Ihnen möglicherweise auch dabei helfen, die Größe der Koeffizienten zu begrenzen.

Angesichts des effizienten Algorithmus im Modell der algebraischen Komplexitätstheorie fragt man sich, ob er im üblichen Modell einen ähnlich effizienten Algorithmus impliziert. Kann es sein, dass die endgültigen Einträge zwar polynomiell sind, die Berechnung jedoch größere umfasst? Dies ist wahrscheinlich nicht der Fall, und selbst wenn dies der Fall wäre, könnte das Problem möglicherweise mit dem chinesischen Restsatz vermieden werden.

Yuval Filmus
quelle