Lösen


22

Ich habe Matrizen EINGEINn×nnGn×mm1<m<100010GTG=ichEINEINx=bBichCGSteinb(l)EIN-1

Ich möchte ein System der Form lösen: (GTEIN-1G)x=bxbmEIN-1


Ich habe meiner Antwort gerade eine Bemerkung zur Ausnutzung der 0-1-Struktur hinzugefügt.
Arnold Neumaier

Antworten:


19

Den Vektor einführen y: =-EIN-1Gx und lösen das große gekoppelte System EINy+Gx=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 dieEINx Routine zu berechnen EINx=EINx¯¯; 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-HBEIN-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-HBEIN-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?EINB-1EINH. Ich denke nicht, dass es einfach mit der Pseudoinverse von B funktionieren würde.
Costis

1
Vorstellen y: =EIN-1Gx und z: =EIN-HByund 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ösenEINx=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 alsEINy+Gx=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 EIN=(EINccEINcfEINfcEINff). Aus der GleichungEINy+Gx=0 Ich bekomme dann folgendes:

EINccyc+EINcfyf+x=0,EINfcyc+EINffyf=0
und mit dem, was wir wissen yc wir haben aus der zweiten dieser Gleichungen
EINffyf=EINfcb
und folglich
x=EINccb-EINcfEINff-1EINfcb.
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=EINfcb; (ii) Verwenden Sie den Löser, den Sie lösen müssenEINffh=z; (iii) berechnenx=EINccb-EINcfh.

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.


0

Aber wir wissen es G, GT und EIN, so

GTEIN-1Gx=b

GGTEIN-1Gx=Gb

Schon seit GTG=ich, dann GT=G-1, so GGT=ich:

EIN-1Gx=Gb

EINEIN-1Gx=EINGb

Gx=EINGb

GTGx=GTEINGb

x=GTEINGb

Solange ich nichts verpasst habe, brauchen Sie keine Iteration oder keinen Löser, um das gegebene x zu berechnen G, EIN und b.


3
GT eine linke Umkehrung von Gbedeutet nicht, dass es auch eine Rechtsumkehrung ist. ErwägenG=e1, woher GT=e1T ist eine Linksumkehrung, aber GGT=e1e1Tich.
Jack Poulson

1
GCnCmdaher GTG=ichm×m, aber GGTichn×n. Es ist eher ein Projektor auf einem Unterraum.
Deathbreath
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.