Ich habe meiner Antwort gerade eine Bemerkung zur Ausnutzung der 0-1-Struktur hinzugefügt.
Arnold Neumaier
Antworten:
19
Den Vektor einführen y: = - A- 1G x und lösen das große gekoppelte System A y+ G x = 0, GTy= - b zum ( y, x )gleichzeitig mit einer iterativen Methode. ObEIN ist symmetrisch (wie es wahrscheinlich scheint, obwohl Sie es nicht explizit angeben), dann ist das System symmetrisch (aber unbestimmt, obwohl quasidefinit, wenn EINDies kann Ihnen bei der Auswahl einer geeigneten Methode helfen. (relevante Schlüsselwörter: KKT-Matrix, quasidefinite Matrix).
Bearbeiten: Als EINist komplex symmetrisch, ebenso wie die erweiterte Matrix, aber es gibt keine Quasidefinitität. Sie können jedoch dieA x Routine zu berechnen EIN∗x = A x¯¯¯¯¯¯¯¯¯¯; Aus diesem Grund können Sie eine Methode wie QMR ftp://ftp.math.ucla.edu/pub/camreport/cam92-19.pdf (für reale Systeme konzipiert) anpassen. Sie können sie jedoch problemlos für komplexe Systeme mit dem Zusatz in umschreiben Ort der Transponierung), um Ihr Problem zu lösen.
Edit2: Eigentlich ist die (0,1) -Struktur von G bedeutet, dass Sie beseitigen können x und die Komponenten von GTysymbolisch, so dass am Ende ein kleineres System zu lösen ist. Das bedeutet, sich mit der Struktur von zu beschäftigenEINund zahlt nur wenn EIN wird explizit in spärlichem Format angegeben und nicht als linearer Operator.
Vielen Dank! A ist komplex symmetrisch. Gibt es Grund zu der Annahme, dass der Zustand der Augmented Matrix schlechter ist als der der Originalmatrix?EIN? Wenn m klein ist, ist die erweiterte Matrix nur unwesentlich größer als A, daher würde ich vermuten, dass die iterative Lösung dieses erweiterten Systems nicht viel schwieriger sein sollte als die Lösung eines Systems mit A?
Costis
Die Zustandsnummer der beiden Systeme hängt im Allgemeinen nicht zusammen. es kommt sehr darauf an wasGist. - Ich habe meiner Antwort Informationen hinzugefügt, wie man komplexe Symmetrie ausnutzt.
Arnold Neumaier
Hallo Leute! Danke für all die Antworten; Dieser Ort ist großartig! Eine Erweiterung der ursprünglichen Frage: Nehmen wir jetzt an, dass ich habe( GTEIN- HB A- 1G ) x = b, wobei G und A die gleiche Bedeutung wie in der ursprünglichen Frage haben, B jedoch eine rangdefiziente nxn-Matrix (gleiche Größe wie A) und das Ganze ist GTEIN- HB A- 1Gist voller Rang. Wie würden Sie vorgehen, um das neue System zu lösen, da jetzt das Inverse von B nicht existiert und Sie es nicht haben können?A B- 1EINH. Ich denke nicht, dass es einfach mit der Pseudoinverse von B funktionieren würde.
Costis
1
Vorstellen y: = A- 1G x und z: = A- HB yund verfahren analog zum erarbeiteten Fall. (Möglicherweise müssen Sie auch berücksichtigenBin Matrizen mit vollem Rang und führe einen zusätzlichen Zwischenvektor ein.)
Arnold Neumaier
Hallo Arnold. Danke, das funktioniert wirklich! Ich habe es mit einigen sehr kleinen Testbeispielen getestet und es funktioniert großartig. Mein iterativer Löser hat jedoch große Probleme beim Invertieren der erweiterten Matrix. Während es nur ungefähr 80 Iterationen (ein paar Sekunden) dauert, um ein System der Form zu lösenA x = bBei der ursprünglichen A-Matrix benötigt das System mit der erweiterten Matrix (2n + mx 2n + m oder 2n-mx 2n-m unter Verwendung des @ wolfgang-bangerth-Ansatzes) über zehntausende von Iterationen (mehrere Stunden), um gelöst zu werden für eine RHS. Gibt es Strategien zur Beschleunigung der Konvergenz? vielleicht ein Vorkonditionierer?
Costis
7
Nach Arnolds Antwort können Sie etwas tun, um das Problem zu vereinfachen. Schreiben Sie das System insbesondere neu alsA y+ G x = 0 , GTy= - b. Dann notiere das aus der Aussage, dassG ist groß und schmal und jede Zeile hat nur eine 1 und ansonsten Nullen, dann die Anweisung GTy= - b bedeutet, dass eine Teilmenge der Elemente von y einen festen Wert haben, nämlich die Elemente von - b.
Sagen wir das der Einfachheit halber so G hat m Spalten und n Reihen und das genau das erste m Zeilen enthalten solche, die die Elemente von neu ordnen x Ich kann es so machen G hat die m × m Identitätsmatrix oben und a n - m × mNullmatrix unten. Dann kann ich partitioniereny= ( yc, yf) in m "eingeschränkt" und n - m "freie" Elemente damit yc= - b. Ich kann auch partitionierenEIN damit A = ( Ac cEINfcEINc fEINff). Aus der GleichungA y+ G x = 0 Ich bekomme dann folgendes:
EINc cyc+ Ac fyf+ x = 0 ,EINfcyc+ Affyf= 0
und mit dem, was wir wissen yc wir haben aus der zweiten dieser Gleichungen
EINffyf= Afcb
und folglich
x = Ac cb - Ac fEIN- 1ffEINfcb .
Mit anderen Worten, die einzige Matrix, die Sie invertieren müssen, ist die Teilmenge von EIN deren Zeilen und Spalten werden in nicht erwähnt G (der Nullraum von G). Dies können Sie leicht tun: (i) berechnen z= Afcb; (ii) Verwenden Sie den Löser, den Sie lösen müssenEINffh = z; (iii) berechnenx = Ac cb - Ac fh.
Mit anderen Worten, angesichts der Struktur von Gist das Lösen des linearen Systems, das Sie haben, wirklich nicht schwieriger als das Lösen eines einzelnen linearen Systems mit EIN.
GT eine linke Umkehrung von Gbedeutet nicht, dass es auch eine Rechtsumkehrung ist. ErwägenG = e1, woher GT= eT1 ist eine Linksumkehrung, aber G GT= e1eT1≠ ich.
Jack Poulson
1
G ∈ Cn⊗ Cmdaher GTG = ichm × m, aber G GT≠ ichn × n. Es ist eher ein Projektor auf einem Unterraum.
Antworten:
Den Vektor einführeny: = - A- 1G x und lösen das große gekoppelte System A y+ G x = 0 , GTy= - b zum ( y, x ) gleichzeitig mit einer iterativen Methode. ObEIN ist symmetrisch (wie es wahrscheinlich scheint, obwohl Sie es nicht explizit angeben), dann ist das System symmetrisch (aber unbestimmt, obwohl quasidefinit, wenn EIN Dies kann Ihnen bei der Auswahl einer geeigneten Methode helfen. (relevante Schlüsselwörter: KKT-Matrix, quasidefinite Matrix).
Bearbeiten: AlsEIN ist komplex symmetrisch, ebenso wie die erweiterte Matrix, aber es gibt keine Quasidefinitität. Sie können jedoch dieA x Routine zu berechnen EIN∗x = A x¯¯¯¯¯¯¯¯¯¯ ; Aus diesem Grund können Sie eine Methode wie QMR ftp://ftp.math.ucla.edu/pub/camreport/cam92-19.pdf (für reale Systeme konzipiert) anpassen. Sie können sie jedoch problemlos für komplexe Systeme mit dem Zusatz in umschreiben Ort der Transponierung), um Ihr Problem zu lösen.
Edit2: Eigentlich ist die (0,1) -Struktur vonG bedeutet, dass Sie beseitigen können x und die Komponenten von GTy symbolisch, so dass am Ende ein kleineres System zu lösen ist. Das bedeutet, sich mit der Struktur von zu beschäftigenEIN und zahlt nur wenn EIN wird explizit in spärlichem Format angegeben und nicht als linearer Operator.
quelle
Nach Arnolds Antwort können Sie etwas tun, um das Problem zu vereinfachen. Schreiben Sie das System insbesondere neu alsA y+ G x = 0 , GTy= - b . Dann notiere das aus der Aussage, dassG ist groß und schmal und jede Zeile hat nur eine 1 und ansonsten Nullen, dann die Anweisung GTy= - b bedeutet, dass eine Teilmenge der Elemente von y einen festen Wert haben, nämlich die Elemente von - b .
Sagen wir das der Einfachheit halber soG hat m Spalten und n Reihen und das genau das erste m Zeilen enthalten solche, die die Elemente von neu ordnen x Ich kann es so machen G hat die m × m Identitätsmatrix oben und a n - m × m Nullmatrix unten. Dann kann ich partitioniereny= ( yc, yf) in m "eingeschränkt" und n - m "freie" Elemente damit yc= - b . Ich kann auch partitionierenEIN damit A = ( Ac cEINfcEINc fEINff) . Aus der GleichungA y+ G x = 0 Ich bekomme dann folgendes:
Mit anderen Worten, angesichts der Struktur vonG ist das Lösen des linearen Systems, das Sie haben, wirklich nicht schwieriger als das Lösen eines einzelnen linearen Systems mit EIN .
quelle
Aber wir wissen esG , GT und EIN , so
Schon seitGTG = ich , dann GT= G- 1 , so G GT= Ich :
Solange ich nichts verpasst habe, brauchen Sie keine Iteration oder keinen Löser, um das gegebene x zu berechnenG , EIN und b .
quelle