Können diagonale und feste symmetrische lineare Systeme nach der Vorberechnung in quadratischer Zeit gelöst werden?


21

Gibt es eine O(n3+n2k) -Methode, um k lineare Systeme der Form zu lösen, (Di+A)xi=biwobei A eine feste SPD-Matrix ist und Di positive Diagonalmatrizen sind?

Wenn beispielsweise jedes Di Skalar ist, genügt es , den SVD zu berechnen A . Dies bricht jedoch für General D aufgrund mangelnder Kommutativität zusammen.

Update : Die bisherigen Antworten lauten "nein". Hat jemand eine interessante Ahnung, warum? Eine Nein-Antwort bedeutet, dass es keine nicht einfache Möglichkeit gibt, die Informationen zwischen zwei nicht pendelnden Operatoren zu komprimieren. Es ist nicht sonderlich überraschend, aber es wäre toll, es besser zu verstehen.


SPD = halbpositiv bestimmt?
rcollyer

Ja, obwohl das Problem ohne SPD im Wesentlichen dasselbe ist. Ich habe diese Einschränkung nur hinzugefügt, um sicherzustellen, dass die Systeme niemals singulär sind.
Geoffrey Irving

Antworten:


19

Die positivsten Antworten auf Ihre Frage, die ich finden konnte, sind für spärliche diagonale Störungen (siehe unten).

Trotzdem kenne ich keine Algorithmen für den allgemeinen Fall, obwohl es eine Verallgemeinerung der Technik gibt, die Sie für Skalarverschiebungen von SPD-Matrizen zu allen Quadratmatrizen erwähnt haben:

Für jede quadratische Matrix existiert eine Schur-Zerlegung A = U T U H , wobei U einheitlich und T oberes Dreieck ist und A + σ I = U ( T + σ I ) U H eine Schur-Zerlegung von A + liefert σ I . Somit erstreckt sich Ihre Vorberechnungsidee über den Algorithmus auf alle Quadratmatrizen:AA=UTUHUTA+σI=U(T+σI)UHA+σI

  • Berechnen Sie in höchstens O ( n 3 ) Arbeit.[U,T]=schur(A)O(n3)
  • Löse jedes über x : = U ( T + σ I ) - 1 U H b in O ( n 2 ) (die mittlere Inversion ist einfach eine Rücksubstitution).(A+σI)x=bx:=U(T+σI)1UHbO(n2)

Diese Argumentation reduziert sich auf den Ansatz, den Sie erwähnt haben, wenn SPD ist, da sich die Schur-Zerlegung für normale Matrizen auf eine EVD reduziert und die EVD mit der SVD für positiv-definierte Hermitian-Matrizen übereinstimmt.A

Antwort auf die Aktualisierung: Bis ich einen Beweis habe, den ich nicht habe, lehne ich es ab, zu behaupten, die Antwort sei "nein". Ich kann jedoch einige Einblicke geben, warum es schwierig ist, sowie einen weiteren Teilfall, in dem die Antwort Ja lautet.

Die wesentliche Schwierigkeit besteht darin, dass das Update zwar diagonal ist, aber im Allgemeinen immer noch den vollen Rang hat. Daher scheint das primäre Tool zum Aktualisieren einer Inversen, die Sherman-Morrison-Woodbury-Formel , nicht zu helfen. Obwohl der Skalarverschiebungsfall auch den vollen Rang hat, ist er ein äußerst spezieller Fall, da er mit jeder Matrix pendelt, wie Sie erwähnt haben.

DO(1)O(n2){D,b}jD=δejejH

[A1+δejejH]1=A1δA1ejejHA11+δ(ejHA1ej),

ejj

A11000×1000||D||2/||A||2O(1)


12

(Di+A)iO(n2log(n))O(mlog(n))m(Di+A)iO(n2log(n)k)O(n3k)

(Di+A)iO(n2k)

A1

Antwort auf die Aktualisierung : @JackPaulson ist vom Standpunkt der numerischen linearen Algebra und der Algorithmen aus ein hervorragender Punkt. Ich werde mich stattdessen auf Argumente zur Komplexität von Berechnungen konzentrieren.

n

O(nαk)α2.375


3
Ich habe noch keine konkrete Aussage darüber getroffen, wo die Frequenzweiche liegen könnte, aber mehrere seriöse Quellen haben festgestellt, dass Coppersmith-Winograd (abgesehen von Implementierungsproblemen) Standardmethoden für Matrixgrößen nicht schlagen kann, die in naher Zukunft in den Speicher passen werden (einige Jahrzehnte). Angesichts der Tatsache, dass der Linpack-Benchmark mehr als einen Tag benötigt, um auf den aktuellen Top-Maschinen ausgeführt zu werden, ist es unwahrscheinlich, dass Coppersmith-Winograd jemals in der Praxis eingesetzt wird. Strassen ist eigentlich praktisch für große Probleme, obwohl es etwas weniger numerisch stabil ist.
Jed Brown

Das wundert mich nicht. +1 für die Implementierungsdetails.
Geoff Oxberry

6

A+DA

A1=(A+DD)1(A+D)(A+D)1=[(A+D)1(A+DD)]1(A+D)1=[I(A+D)1D]1(A+D)1[I+(A+D)1D](A+D)1

A+D

D0Dminσ(A)

Wenn die Verschiebung im Vorkonditionierer viel größer ist als im Bediener, erzeugt diese Methode in der Regel eine Bedingungszahl, die etwa halb so groß ist wie die des verzögerten Bedieners (in den von mir durchgeführten Zufallstests könnte sie für eine bestimmte Klasse von Personen besser oder schlechter sein) Matrizen). Dieser Faktor von 2 in der Bedingungsnummer ergibt einen Faktor von in der Iterationszahl. Wenn die Iterationskosten von den Lösungen mit dominiert werden , ist dies kein ausreichender Faktor, um die Taylor-Expansion erster Ordnung zu rechtfertigen. Wenn die Matrixanwendung verhältnismäßig teuer ist (z. B. Sie haben nur einen kostengünstigen Vorkonditionierer für ), ist diese Methode erster Ordnung möglicherweise sinnvoll. A+DA+D2A+DA+D

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.