Lösungssystem linearer Gleichungen mit zyklischer tridiagonaler Matrix

8

Ich habe dieses Problem in meinem Lehrbuch:

Vorschlagen effizienten Algorithmus zur Lösung System von linearen Gleichungen mit zyklischer Drei Diagonalmatrix, die der folgenden Form hat: ohne Zeilen und Spalten auszutauschen. Schätzen Sie die Komplexität.

[a1b100d1c2a2b20000cn2an2bn200cn1an1bn1d200cnan]

Und ich weiß nicht, wie ich das angehen soll. Die klassische Eliminierung würde mit dieser Matrix in sehr effizienter -Zeit funktionieren , aber das Problem ist, wenn ich beispielsweise c 2 mit der 1. Zeile eliminieren möchte, die zur zweiten Zeile hinzugefügt wird - c 2O(n)c21und wenna1=0. Ich kann das nicht tun, und selbst wenneine10ist, kann das gleiche Problem irgendwo in der Mitte dieses Prozesses auftreten. Darüber hinaus darf ich, wie im Problemtext angegeben, keine Zeilen oder Spalten austauschen, sodass ich nicht weiß, ob dieser Ansatz irgendwie behoben werden kann. Kann jemand helfen?c2a1[a1b100d1]a1=0a10

xan
quelle
Die Form der Matrix hindert Sie nicht daran, auf ein Problem zu stoßen, bei dem die Matrix (oder eine Submatrix) singulär ist, aber ich lese das Problem nicht als Frage, was möglicherweise schief geht. Wenn Sie stattdessen nach einem "effizienten Algorithmus ... ohne Vertauschen von Zeilen und Spalten" fragen, scheint Ihre "[c] lassische Eliminierung" ohne Schwenken ein vernünftiger Ansatz zu sein. Sehen Sie, wie Sie die Komplexität dieser Methode abschätzen können?
Hardmath

Antworten:

4

Es ist nicht schwierig, die Komplexität einer einfachen Eliminierung / Reduktion auf die obere Dreiecksform zu bestimmen. Beachten Sie, dass die anfängliche Matrix:

[a1b100d1c2a2b20000cn2an2bn200cn1an1bn1d200cnan]

wird nach einem Schritt der Beseitigung:

[a1b100d10a2b1c2a1b20d1c2a100cn2an2bn200cn1an1bn10b1d2a10cnand1d2a1]

O(1)(n1)×(n1)O(n)O(n)O(n)Aufgabe. Das ist also die Komplexität der Lösung von Systemen mit solchen Koeffizientenmatrizen.

Hardmath
quelle
1
a1=0
Es ist eine Einschränkung der Gaußschen Eliminierung ohne Schwenken, dass wir stecken bleiben, wenn Nullen an Stellen auftreten, an denen wir (im Wesentlichen) eine führende Eins erzeugen wollen! Die Idee des teilweisen Schwenkens versucht, dies zu umgehen, indem Zeilen taktisch ausgetauscht werden (bzw. das vollständige Schwenken von Zeilen und Spalten). Die Problemstellung verbietet jedoch das Austauschen von Zeilen oder Spalten, was ich als Versuch interpretiere, Ihre Analyse der Komplexität so einfach wie möglich zu halten. Bestimmte Bedingungen (wie die diagonale Dominanz ) können den Erfolg ohne Schwenken halten und garantieren.
Hardmath