Kommentiertes Beispiel für das Gaußsche Eliminationsverfahren oder: Wie rechnet eigentlich der TI 84, wenn lineare Gleichungssysteme gelöst werden? Hier wird an einem Beispiel das Gaußsche Verfahren zum Lösen von linearen Gleichungssystemen erläutert, das sich insbesondere für programmierte Abläufe und für Gleichungssysteme mit vielen Unbekannten eignet. Gesucht sei die Lösung für folgendes lineare Gleichungssystem: 6 -5x 23 -10x = = = - -12z - 10x -17 - 4w + 8z + 2y 4z + 5x 16z = 2 - 4w Zuerst werden die Gleichungen so umgeformt, dass alle Variablen links vom Gleichheitszeichen stehen und das absolute Glied (also die Zahl ohne Variable) rechts: I: ⇔ II: ⇔ III: ⇔ IV: ⇔ 6 = -12z - 10x 10x + 12z = -6 -5x = -17 - 4w + 8z + 2y 4w - 5x - 2y - 8z = -17 23 = 4z + 5x -5x - 4z = -23 -10x - 16z = 2 - 4w 4w - 10x - 16z = 2 | +10x +12z -6 | +4w -2y -8z | -5x -4z -23 | +4w Die so umgeformten Gleichungen werden nun so untereinander geschrieben, dass entsprechende Variablen untereinander stehen (am besten in alphabetischer Reihenfolge): I 10x + 12z = -6 II 4w - 5x - 2y - 8z = -17 III -5x - 4z = -23 IV 4w - 10x - 16z = 2 Man vereinfacht sich die Schreibarbeit, indem man nur die Zahlen erfasst, also die Koeffizienten (Faktoren vor den Variablen) aus der linken Seite und die absoluten Zahlen aus der rechten Seite der Gleichungen. Dabei müssen die Vorzeichen beachtet und übernommen werden. Für alle fehlenden Variablen wird eine Null geschrieben: w x y z I 0 10 0 12 | -6 II 4 -5 -2 -8 | -17 III 0 -5 0 -4 | -23 IV 4 -10 0 -16 | 2 Die gestrichelte Linie deutet an, dass rechts davon das Ergebnis der jeweiligen Gleichung steht. Eine derartige Zahlentabelle nennt man Matrix; und da es sich um die Koeffizienten eines linearen Gleichungssystems handelt, heißt diese hier Koeffizientenmatrix. Durch geeignete Umformungen versucht man, diese Matrix in die Form 1 0 0 0 a 0 1 0 0 b 0 0 1 0 c 0 0 0 1 d zu überführen. Man nennt eine solche Matrix Diagonalmatrix, da links der gestrichelten Linie nur in der Diagonalen Zahlen stehen. Die Buchstaben a, b, c und d stehen dabei für irgendwelche Zahlen, die sich an diesen Stellen nach dem Umformen ergeben. Es sind allerdings keine Zahlen, die uns nicht interessieren, sondern es handelt sich bei ihnen um nichts geringeres als die Lösungen, nach denen wir eigentlich suchen. Denn die erste Zeile steht ja für w = a, die zweite für x = b, usw. Man darf zu diesem Zwecke folgende Umformungstypen verwenden: • • • • Zeilen vertauschen alle Zahlen einer Zeile mit einer bestimmten Zahl (≠0 ) multiplizieren oder durch sie teilen. zwei Zeilen addieren (oder eine Zeile von einer anderen abziehen) und eine der beiden Zeilen ersetzen (Die beiden Rechnungen kann man auch gleichzeitig durchführen: Ein Vielfaches einer Zeile zu einer anderen addieren bzw. davon subtrahieren, wobei man jeweils das Vielfache in derselben Spalte addiert oder subtrahiert.) Ein Beispiel für den dritten Typus (zwei Zeilen addieren bzw. subtrahieren): Von der 4. Zeile soll die 2. Zeile subtrahiert werden (kurz gesagt: IV – II): II III IV 4 0 4 -5 -5 -10 -2 0 0 -8 -4 -16 -17 -23 2 -16-(-8) 2-(-17) -8 19 IV – II ergibt: IVneu also: IVneu 4-4 0 -10-(-5) 0-(-2) -5 2 Ein Beispiel für den vierten Typus: Von der IV. Zeile (4 -10 0 das Vierfache der III. Zeile (0 -5 III (0 -5 0 -4 IV (4 -10 0 -16 Wir erhalten: IVneu (4 In in in in in der der der der der 10 0 0 -16 0 -23) 2) 2) soll -4 -23) subtrahiert werden: IV – 4 ∙ III 94) ersten Spalte muss von 4 das Vierfache von 0 abgezogen werden, d. h. die 4 bleibt, zweiten Spalte muss von -10 das Vierfache von -5 abgezogen werden: -10 - 4·(-5) ergibt 10, dritten Spalte: 0 - 4·0 = 0 vierten Spalte: -16 - 4·(-4) = 0 fünften Spalte: 2 - 4·(-23) = 94 Warum sind diese Umformungen möglich? Das Vertauschen von Zeilen entspricht dem Umnummerieren der Gleichungen. Das verändert die Lösungsmenge sicher nicht. Das Multiplizieren von Gleichungen mit einer Zahl verändert die Lösungsmenge nicht. Der dritte Typus bedarf einiger Überlegung: Bei Gleichungen sind die Terme links und rechts des Gleichheitszeichens wertgleich. Wenn man nun auf beiden Seiten Gleiches addiert, bleibt die Waage ausgewogen; d.h. man kann auf beiden Seiten der Gleichung die jeweiligen Seiten einer anderen Gleichung (oder entsprechende Vielfache davon) addieren, ohne die Aussage zu verändern, denn man addiert auf beiden Seiten denselben Wert. Um nun das Ziel zu erreichen, geht man schrittweise und systematisch vor. Das Verfahren folgt einem schematischen Ablaufplan (Algorithmus), der nach Carl Friedrich Gauß auch Gaußscher Algorithmus oder Gaußsches Eliminationsverfahren genannt wird. Eliminieren heißt auslöschen; und tatsächlich werden nacheinander, d. h. zeilenweise, alle Zahlen zu Null gemacht (also ausgelöscht), die in unserer Ergebnismatrix Null sein sollen. Im Ablaufplan verwenden wir für die Anzahl der Zeilen (d. h. der Gleichungen bzw. Unbekannten) den Buchstaben n, damit der Algorithmus allgemeingültig ist (n nimmt Bezug auf die Tatsache, dass diese Anzahl immer eine Natürliche Zahl ist). Für die jeweilige Zeile verwenden wir den Buchstaben i (von Index). Das i durchläuft in diesem Verfahren systematisch nacheinander alle Zahlen von 1 bis 4 (I bis IV). Man nennt eine solche Variable auch „Laufvariable”. Der Gaußsche Algorithmus A. Bringe die Gleichungen in Standardform (siehe oben) und stelle die Koeffizientenmatrix auf. Setze i=1. B. Falls in der i. Zeile die Zahl in der i. Spalte 0 ist, tausche diese Zeile mit einer Zeile unterhalb aus, bei der in der i. Spalte eine Zahl steht. Falls keine solche Zeile existiert, ist das Gleichungssystem nicht eindeutig oder auch gar nicht lösbar. C. Dividiere die i. Zeile durch die Zahl, in ihrer i. Spalte. Das Diagonalelement (i. Zeile, i. Spalte) wird dadurch 1. (Man kann auch erst ganz am Ende dividieren, um „krumme Zahlen“ zu vermeiden. Dies wird auf Seite 5 gezeigt.) D. Subtrahiere zu allen anderen Zeilen j (j≠i) nun ein geeignetes Vielfaches der Zeile i, so dass die Zahl in der i. Spalte der j. Zeile 0 wird. (Siehe dazu das Beispiel oben.) Danach darf in der i. Spalte nur noch in der i. Zeile eine 1 stehen, sonst stehen nur noch Nullen in dieser Spalte. E. Falls i<n, erhöhe i um eins und gehe zurück zu B, sonst weiter bei F. F. Lies in der letzten Spalte die Lösungen ab. Ich führe das Verfahren nun anhand dieses Ablaufplanes für das Beispiel oben durch. Schritt A: i=1 0 4 0 4 10 -5 -5 -10 0 -2 0 0 12 -8 -4 -16 -6 -17 -23 2 Schritt B: Da in der 1. Zeile in der 1. Spalte eine 0 steht, vertausche die erste und die zweite Zeile. 4 0 0 4 -5 10 -5 -10 -2 0 0 0 -8 12 -4 -16 -17 -6 -23 2 I : 4 Schritt C: Nun dividiere jede Zahl in der 1. Zeile durch 4 (die Zahl in der 1. Spalte der ersten Zeile) (I : 4): 1 0 0 4 -1,25 10 -5 -10 -0,5 0 0 0 -2 12 -4 -16 -4,25 -6 -23 2 IV – 4 ∙ I Nun steht in der ersten Zeile in der ersten Spalte eine 1. Im folgenden Schritt D müssen alle anderen Zahlen in dieser Spalte zu 0 gemacht werden. Dies geschieht durch Addition (Subtraktion) geeigneter Vielfacher der ersten Zeile. Nur in der vierten Zeile steht keine 0, sondern eine 4. Man bekommt die Null, wenn man das 4fache der ersten Zeile subtrahiert: Rechne: 4-4·1=0 -10-4·(-1,25)=-10+5=-5 0-4·(-0,5)=2 -16-4·(-2)=-16+8=-8 2-4·(-4,25)=2+17=19 1 0 0 0 -1,25 10 -5 -5 -0,5 0 0 2 -2 12 -4 -8 -4,25 -6 -23 19 II : 10 Schritt E: Da i=1<n=4, erhöhe i um 1: i=2 und fahre fort bei... Schritt B: In der zweiten Zeile steht in der zweiten Spalte keine 0. Also ist kein Tausch nötig. Schritt C: Dividiere die zweite Zeile durch 10, so dass dort eine 1 steht: 1 0 0 0 -1,25 1 -5 -5 -0,5 0 0 2 -2 -4,25 1,2 -0,6 -4 -23 -8 19 I + 1,25 · II III + 5 · II IV + 5 · II Schritt D: Addiere/subtrahiere geeignete Vielfache der zweiten Zeile zu den anderen, so dass dort in der zweiten Spalte überall 0 steht: addiere zur ersten Zeile das 1,25fache der zweiten Zeile (I + 1,25 · II), addiere zur dritte Zeile das 5fache der zweiten Zeile (III + 5 · II), addiere zur vierten Zeile das 5fache der zweiten Zeile (IV + 5 · II): 1 0 0 0 0 1 0 0 -0,5 0 0 2 -0,5 1,2 2 -2 -5 -0,6 -26 16 Schritt E: Erhöhe i um 1 (i=3<4) und gehe zu B. Schritt B: Weil in der 3. Zeile in der 3. Spalte 0 steht, vertausche die vierte mit der dritten Zeile: 1 0 0 0 0 1 0 0 -0,5 0 2 0 -0,5 1,2 -2 2 -5 -0,6 16 -26 III : 2 Schritt C: Dividiere die 3. Zeile durch 2: 1 0 0 0 0 1 0 0 -0,5 0 1 0 -0,5 1,2 -1 2 -5 -0,6 8 -26 I + 0,5 · III Schritt D: Addiere zur ersten Zeile das 0,5fache der dritten, damit die -0,5 in der dritten Spalte der ersten Zeile verschwindet. Rechne: -0,5+0,5·1=0 1 0 0 0 0 1 0 0 0 0 1 0 -1 1,2 -1 2 -0,5+0,5·(-1)=-0,5-0,5=-1 -1 -0,6 8 -26 -5+0,5·(8)=-1 IV : 2 Schritt E: i=4 und zurück zu Schritt B: vierte Spalte in vierter Zeile OK. (Tauschen wäre auch nicht mehr möglich, weil unterhalb keine Zeile mehr existiert.) Schritt C: Dividiere die vierte Zeile durch 2: 1 0 0 0 0 1 0 0 0 0 1 0 -1 1,2 -1 1 -1 -0,6 8 -13 I + IV II – 1,2 · IV III + IV Schritt D: Addiere die vierte zur ersten Zeile, subtrahiere das 1,2fache der vierten von der zweiten Zeile, addiere die vierte zur dritten Zeile: 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 -14 15 -5 -13 Schritt E: i=4=n, daher weiter bei... Schritt F: Lies die Lösungen in der letzten Spalte ab: w x y z = -14 = 15 = -5 = -13 Zur Erinnerung: Die Zahlen 1 0 0 0 -14 in der ersten Zeile stehen für die Gleichung 1w + 0x + 0y + 0z = -14. Das ist vereinfacht: w = -14. In dieser schematischen Form lässt sich dieser Algorithmus sehr gut in Computerprogramme übersetzen. Der TI84+ arbeitet nach diesem Verfahren. Abkürzen/Vereinfachen des Verfahrens Man kann das Verfahren allerdings auch intelligent an passenden Stellen abkürzen oder vereinfachen. Zum Beispiel bietet es sich oftmals an, eine bestimmte Variable bereits vor ihrer Zeit im Algorithmus zu eliminieren, wenn sie nämlich bereits in einer Gleichung alleine steht. Es taucht beispielsweise relativ früh die Zeile 0 0 0 2 -26 auf, mit der man da schon in allen anderen Gleichungen die letzte Spalte zu Null machen kann. (Das entspricht dem sofortigen Einsetzen des Zahlenwertes für die Variable in allen Gleichungen, sobald man den Wert kennt!) Außerdem lässt sich das Dividieren der Zeilen durch ihr Diagonalelement unter Umständen gewinnbringend bis zum Schluss verzögern, um nämlich Brüche oder „Kommazahlen” zu vermeiden. Wenn man im Beispiel die vertauschte erste Zeile erst ganz zuletzt durch 4 teilt und die zweite zunächst durch 2 und am Ende durch 5, kann man vollständig mit ganzen Zahlen rechnen und hat zudem einfachere Subtraktionen, was erheblich übersichtlicher ist: 0 4 0 4 10 -5 -5 -10 0 -2 0 0 12 -8 -4 -16 -6 -17 -23 2 4 0 0 4 -5 10 -5 -10 -2 0 0 0 -8 12 -4 -16 -17 -6 -23 2 4 0 0 0 -5 10 -5 -5 -2 0 0 2 -8 12 -4 -8 -17 -6 -23 19 Zeilen I und II vertauschen | -I | :2 4 0 0 0 -5 5 -5 -5 -2 0 0 2 -8 6 -4 -8 -17 -3 -23 19 4 0 0 0 0 5 0 0 -2 0 0 2 -2 6 2 -2 -20 -3 -26 16 4 0 0 0 0 5 0 0 -2 0 2 0 -2 6 -2 2 -20 -3 16 -26 | +IV | -3·IV | +IV 4 0 0 0 0 5 0 0 -2 0 2 0 0 0 0 2 -46 75 -10 -26 | +III 4 0 0 0 0 5 0 0 0 0 2 0 0 0 0 2 -72 75 -10 -26 | | | | 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 -14 15 -5 -13 ©2002 Arndt Brünner | +II | +II | +II Zeilen III und IV vertauschen :4 :5 :2 :2 Übungsaufgaben: Überprüfe Deine Lösungen mit dem TI84+ (1) 4x 1 + 6x 2 + 2x 3 = 30 2x 1 + 4x 2 – 2x 3 = 6 4x 1 + 2x 2 + 4x 3 = 26 (2) 2x – 2 = y – z 5x + 1,5z = 2,5y + 4 1,2 + 0,7y = 1,4x + 0,5z (3) a + b+ c + d = 10 2a – b + 3c – 2d = 1 a + b +d = 4 + c 2 + 3a + c = 2b + d Übungsaufgaben: Überprüfe Deine Lösungen mit dem TI84+ (1) 4x 1 + 6x 2 + 2x 3 = 30 2x 1 + 4x 2 – 2x 3 = 6 4x 1 + 2x 2 + 4x 3 = 26 (2) 2x – 2 = y – z 5x + 1,5z = 2,5y + 4 1,2 + 0,7y = 1,4x + 0,5z (3) a + b+ c + d = 10 2a – b + 3c – 2d = 1 a + b +d = 4 + c 2 + 3a + c = 2b + d Übungsaufgaben: Überprüfe Deine Lösungen mit dem TI84+ (1) 4x 1 + 6x 2 + 2x 3 = 30 2x 1 + 4x 2 – 2x 3 = 6 4x 1 + 2x 2 + 4x 3 = 26 (2) 2x – 2 = y – z 5x + 1,5z = 2,5y + 4 1,2 + 0,7y = 1,4x + 0,5z (3) a + b+ c + d = 10 2a – b + 3c – 2d = 1 a + b +d = 4 + c 2 + 3a + c = 2b + d Ein weiteres Beispiel Gleichungssystem: 3y + 2z = 1 - x 2x = 1 - 5y - 3z - 3x - 8y - 4z = 1 Umformen und sortieren (Variablen alphabetisch links, Konstanten rechts): x + 3y + 2z 2x + 5y + 3z - 3x - 8y - 4z = 1 = 1 = 1 Stelle die Koeffizientenmatrix auf. Reihenfolge der Variablen: x, y, z, Konstante 1 2 - 3 3 5 - 8 2 3 - 4 1 1 1 Das Diagonalenfeld der 1. Zeile ist bereits 1. Mit der 1. Zeile werden alle anderen Zeilen in der 1. Spalte auf 0 gebracht. Zur 2. Zeile wird das - 2fache der 1. Zeile addiert: 1 3 2 0 - 1 - 1 - 3 - 8 - 4 1 - 1 1 Zur 3. Zeile wird das 3fache der 1. Zeile addiert: 1 0 0 3 - 1 1 2 - 1 2 1 - 1 4 Durch Multiplikation der 2. Zeile mit - 1 wird das Diagonalelement zu 1 gemacht: 1 0 0 3 1 1 2 1 2 1 1 4 Mit der 2. Zeile werden alle anderen Zeilen in der 2. Spalte auf 0 gebracht. Zur 1. Zeile wird das - 3fache der 2. Zeile addiert: 1 0 0 0 1 1 - 1 1 2 - 2 1 4 Zur 3. Zeile wird das - 1fache der 2. Zeile addiert: 1 0 0 0 1 0 - 1 1 1 - 2 1 3 Das Diagonalenfeld der 3. Zeile ist bereits 1. Mit der 3. Zeile werden alle anderen Zeilen in der 3. Spalte auf 0 gebracht. Zur 1. Zeile wird die 3. Zeile addiert: 1 0 0 0 1 0 0 1 1 1 1 3 Zur 2. Zeile wird das - 1fache der 3. Zeile addiert: 1 0 0 0 1 0 0 0 1 1 - 2 3 In der letzten Spalte stehen die Lösungen.