Der Gauß-Algorithmus

 
  • Der Gauß-Algorithmus ist der wohl bekannteste Universallöser für lineare Gleichungssysteme Ax=b mit quadratischen Matrizen A.
  • Zu einer regulären Matrix A wird eine Zerlegung in zwei Dreiecksmatrizen L (untere Dreiecksmatrix) und R (obere Dreiecksmatrix) berechnet mit PAQ = LR. Dabei sind P und Q zwei Permutationsmatrizen. Man kann stets Q als Einheitsmatrix wählen, aber auf die Zeilenvertauschungen kann man nicht immer verzichten.
  • Realisiert wird die Zerlegung mittels Linearkombination einzelner Zeilen der Matrix A. Eine Anwendung der gleichen Kombinationen auf den Vektor b liefert schließlich das gestaffelte Gleichungssystem Rx=b, mit oberer Dreiecksmatrix R, das dann die Lösung x durch die sogenannte Rücksubstitution liefert.
  • Um den Einfluß von Rundungsfehlern zu reduzieren, kann durch Vertauschen einzelner Zeilen (Spalten-Pivotisierung) dafür gesorgt werden, daß der Betrag der Elemente der Matrix L kleiner oder gleich 1 ist. Die Zerlegung der Matrix A hat dann die Form PA=LR mit einer Permutationsmatrix P. Mit der sogenannten Restmatrix-Pivotsuche, die auch Spaltentausch beinhaltet, kann man das sogenannte ''Pivotwachstum'', also das Anwachsen der Elemente in R relativ zu denen in A noch weiter dämpfen. Diese Implementierung ist vor allem zur Demonstration des Rundungsfehlereinflusses gedacht.
  • Der Rechenaufwand beim Gauß-Algorithmus ist O(n3) bei voll besetzter Matrix. Es gibt aber spezielle Varianten für große sogenannte dünnbesetzte Matrizen.
 

Die Eingaben

 
  • n ist die Dimension der quadratischen Matrix A und darf den Wert 11 nicht überschreiten.
  • Es kann angegeben werden, ob ohne Pivotisierung, mit Spalten-Pivotisierung oder mit Restmatrix-Pivotisierung gerechnet werden soll.
  • Die Eingabe des Gleichungssystems erfolgt formatfrei und zeilenweise incl. rechte Seite. So steht z.B. 1,2,3,6  für die Gleichung 1*x1+2*x2+3*x3 = 6. Eine Trennung der Zahlen kann durch Leerzeichen bzw. Kommata erfolgen. Erlaubt sind die Zahlendarstellungen der Programmiersprache FORTRAN.
 

Die Ausgaben

 
  • Die berechete Lösung xberechnet des Systems Ax=b.
  • Das Residuum Axberechnet-b in der berechneten Lösung.
  • Die berechnete L-R- Zerlegung.
  • Eine mit einer rudimentären Form der ''inversen Iteration'' (siehe ''Eigenwertproblem'') berechnete Schätzung der Konditionszahl der Matrix, also ||A||||A^{-1}||, in der 1-Norm.
 

Fragen ?!

 
  • Wie verhält sich das Residuum bei starken Unterschieden in den Größenordnungen der Matrixelemente bezüglich der Pivotisierung ?
  • Vergleichen Sie bei einem System mit bekannter Lösung die Resultate mit und ohne Pivotisierung.
  • Gibt es einen einfachen Zusammenhang zwischen der Größe des Residuums und der Genauigkeit in der Lösung ?
 

Das Eingabeformular

 
 

Zurück: Lineare Gleichungssysteme

 
Back to the top!

06.01.2009