________________________________________________________________________________ Inhalt....: Anwendung von Umformungsmatrizen auf Zeilenumformungen Kategorie.: Unterrichtsmaterial Mathematik: Lineare Algebra MuPAD.....: 3.1.0 Datum.....: 20050624 Autoren...: August Barkhausen <[email protected]> Funktionen: testeq, matrix, linalg::multRow ________________________________________________________________________________ Anwendung von Umformungsmatrizen auf Zeilenumformungen In einschlägigen Lehrbüchern der Linearen Algebra wird herausgestellt, dass Zeilenum formungen von Matrizen durch Multiplikation mit Umformungsmatrizen von links geschehen können. In den Lehrbüchern geht es in diesem Zusammenhang in der Regel um die mathe matische Existenz dieser Umformungsmatrizen, während Zeilenumformungen bei manuellen Berechnungen in der Regel analog zum GaußAlgorithmus durchgeführt werden, da der rechnerische Aufwand hier geringer ist. Insbesondere ergibt sich das Problem, die Umformungsmatrizen richtig aufzustellen und dann noch die Multiplikation durchzuführen. Die Kopplung dieser beiden Probleme kann durch die Benutzung eines Computeralgebrasystems entschärft werden. MuPAD über nimmt die Multiplikation. Hat man die Umformungsmatrix falsch aufgestellt, erhält man nicht das gewünschte Ergeb nis. Ist die Umformungsmatrix richtig aufgestellt, erhält man die Bestätigung durch das ge wünschte Ergebnis. Da man in der Schule in der Regel Variationen des GaußAlgorithmus bereits auf lineare Gleichungssysteme angewandt hat, ehe man Zeilenumformungen an Matrizen vornimmt, ist die grundlegende Technik der Zeilenumformung bekannt. Aus dieser Sicht ist die Anwendung der Zeilenumformungsmatrizen ein neues Werkzeug, dessen Funktionsweise und Zweckmäßig keit mit MuPAD experimentell im Vergleich mit bekannten Verfahren kennengelernt werden kann. Die sonst zeitaufwendige Berechnung wird in Sekunden durch MuPAD durchgeführt. Experi mente mit Kandidaten für Umformungsmatrizen sind daher problemlos möglich. MuPAD über nimmt hier die Rolle des Rechenknechts. Der motivierende Aspekt dieser Vorgehensweise ist evident. Im folgenden werden die Zeilenumformungen mit Hilfe von Umformungsmatrizen in drei Zusammenhängen dargestellt: 1) Kennenlernen der Technik der Zeilenumformungen durch Umformungs matrizen durch experimentelle Ausnutzung der Möglichkeiten von MuPAD 2) Anwendung der Nutzung von Zeilenumformungen mit Umformungsmatrizen auf die Lösung eines Gleichungssystems 3) Anwendung der Nutzung von Zeilenumformungen mit Umformungsmatrizen auf die Invertierung einer Matrix Schritt 1 Kennenlernen der Technik der Zeilenumformung durch Umformungsmatrizen Zunächst werden eine quadratische Matrix und eine weitere Matrix definiert. A:= matrix([[8,4,2,1], [1,1,1,1], [1,1,1,1], [27,9,3,1]]) Es ist sinnvoll, in MuPAD lange, selbsterklärende Variablennamen zu verwenden. So lange noch nicht klar, ist, welchen Zweck die Matrizen haben, ist eine Vergabe von selbsterklärenden Bezeichnungen natürlich nicht möglich. Die in Schritt eins benutzten Namen deuten bereits den Zweck an, ohne allerdings konsequent selbsterklärend zu sein. Im Unterricht wird man diesen Punkt bis zur abschließenden Klärung des Verfahrens offen lassen. Hier nun die zweite Matrix. U12:= matrix([[1,0,0,0], [1,8,0,0], [0,0,1,0], [0,0,0,1]]) Nun bildet man das Produkt beider Matrizen (A auf der rechten Seite) U12*A Man stellt fest, dass analog zum GaußAlgorithmus in der ersten Spalte der zweiten Zeile eine 0 erschienen ist. Offensichtlich ist das achtfache der zweiten Zeile von der ersten Zeile subtraiert worden. Nun soll eine Umformungsmatrix erstellt werden, so dass durch Multiplikation mit dieser Umformungsmatrix in der ersten Spalte der dritten Zeile eine Null erscheint. Es sind verschiedene Lösungen des Problems möglich. Einiges Experimentieren liefert die folgende Matrix als Version 1: U13Version1:= matrix([[1,0,0,0], [0,1,0,0], [1,0,8,0], [0,0,0,1]]) U13Version1*A Offensichtlich ist das achtfache der dritten Zeile zur ersten Zeile addiert worden. Andererseits hätte man auch die folgende Matrix benutzen können, um die Null an der gewünschten Stelle zu erhalten. Nun folgt ein Versuch mit Version 2: U13Version2:=matrix([[1,0,0,0], [0,1,0,0], [1/8,0,1,0], [0,0,0,1]]) Eine Multiplikation mit der Matrix A liefert: U13Version2*A Hier ist ein achtel der ersten Zeile zur dritten addiert worden. Im Ergebnis ist die Zielzeile dieser Teiliteration ein achtel der Zielzeile der vorherigen Version. Um Brüche zu vermeiden, wird man bei manuellen Rechnungen die erste Version vorziehen. MuPAD stellt andererseits für Zeilenmanipulationen unter anderem den Befehl linalg::addRow zur Verfügung. Die Ergebnisse der Anwendung dieses Befehls entsprechen der Version zwei. Schließlich soll auch in der ersten Spalte der vierten Zeile eine Null erscheinen. U14:=matrix([[1,0,0,0], [0,1,0,0], [0,0,1,0], [27,0,0,8]]) U14*A Es stellt sich nun die Frage, ob man die Zeilenumformungsmatrizen nicht zusammen fassen kann, so dass nur eine Multiplikation nötig ist. Im Ergebnis erhält man als Um formungsmatrix: UmformungsmatrixfuerSpalte1:= matrix([[1,0,0,0], [1,8,0,0], [1,0,8,0], [27,0,0,8]]) und damit das Produkt Resultatiteration1:=UmformungsmatrixfuerSpalte1*A Die Zusammenfassung der Teiliterationen je Spalte in einer einzigen Matrix ist somit möglich. Nun sollen noch in den Zeilen drei und vier der Spalte 2 Nullen erscheinen. Dies soll wiederum in einem einzigen Iterationsschritt geschehen. UmformungsmatrixfuerSpalte2:=matrix([[1,0,0,0], [0,1,0,0], [0,3,1,0], [0,9,0,1]]) Diese Matrix muss natürlich auf das Ergebnis der vorherigen Rechnung angewandt werden. Resultatiteration2:=UmformungsmatrixfuerSpalte2*Resultatiteration1 Schließlich soll noch in der letzten Zeile von Spalte drei eine Null erscheinen. UmformungsmatrixfuerSpalte3:=matrix([[1,0,0,0], [0,1,0,0], [0,0,1,0], [0,0,1,1]]) Resultatiteration3:=UmformungsmatrixfuerSpalte3*Resultatiteration2 Schritt 2 Anwendung von Zeilenumformung mit Umformungsmatrizen auf die Lösung eines Gleichungssystems Die durchgeführten Rechnungen haben gezeigt, dass sich quadratische Matrizen durch Zeilenumformungen durch Umformungsmatrizen ökomomisch in eine obere Dreiecksmatrix überführen lassen. Es stellt sich nun die Frage, ob die entsprechenden Manipulationen auch auf nichtquadratische Matrizen anwendbar sind. Bei der Lösung linearer Gleichungssysteme hat man letzlich die Zeilenumformungen auf die um einen Spaltenvektor erweiterte Matrix A anzuwenden. Im folgenden soll das Gleichungssystem Ax=b mit dem im folgenden angegebenen Vektor b gelöst werden. b:=matrix([0,3,9,5]) Der Befehl A.b erweitert die Matrix A um den Spaltenvektor b. A.b Nun werden die einzelnen Iterationen schrittweise auf die erweiterte Matrix A.b angewandt. Nachdem das Verfahren bekannt ist, ist es sinnvoll, geeignete selbsterklärende Variablennamen zu verwenden. Iteration 1 Ergebnisiteration1:=UmformungsmatrixfuerSpalte1*A.b Iteration 2 Ergebnisiteration2:=UmformungsmatrixfuerSpalte2*Ergebnisiteration1 Iteration3 Ergebnisiteration3:=UmformungsmatrixfuerSpalte3*Ergebnisiteration2 Zur Lösung des Gleichungssystems ist es möglich, den Spaltenvektor von der oberen Dreiecksmatrix A zu trennen. Zunächst die obere Dreiecksmatrix DreiecksmatrixvonA:=Ergebnisiteration3[1..4, 1..4] Dann der modifizierte Spaltenvektor Modifiziertervektorb:=Ergebnisiteration3[1..4, 5] Das Gleichungssystem lässt sich nun mit MuPAD lösen. LoesungdesLGS:=linalg::matlinsolve(DreiecksmatrixvonA, Modifiziertervektorb) Schritt 3 Anwendung von Zeilenumformung mit Umformungsmatrizen auf die Invertierung einer Matrix Es soll die folgende Matrix invertiert werden. B:= matrix([[1,2,3], [4,5,6], [7,8,3]]) Zunächst werden zwei Möglichkeiten der Berechnung der Inversen Matrix ohne Angabe des Algorithmus angegeben. 1) Man benutzt den Exponenten 1 InversevonBversion1:= B^1 2) Man benutzt den Divisionsoperator InversevonBversion2:= 1/B Beide Befehle liefern das gleiche Ergebnis. Allerdings muss man aus mathema tischer Sicht festhalten, dass es Divisionen bei Matrizen nicht gibt. Der Befehl 1/A ist daher aus mathematischer Sicht eher problematisch und steht in MuPAD nur aus reiner Benutzerfreundlichkeit zur Verfügung. testeq(InversevonBversion1, InversevonBversion2) Der Algorithmus zum Invertieren wird letztlich wie folgt durchgeführt: 1) Man schreibt rechts neben die Matrix A die Einheitsmatrix und baut damit die sogenannte erweiterte Koeffizienten matrix auf. 2) Man wendet auf die um die Einheitsmatrix erweiterte Matrix A Zeilenumformungen an und formt damit die Matrix A zur Einheitsmatrix um. Gleichzeitig wird die Einheitsmatrix in die Inverse der Matrix A umgeformt. Bei manuellen Rechnungen wird man die Matrix A und die Einheitsmatrix und ihre jeweiligen Folgeprodukte sowie die einzelnen Iterationen durch geeignete Markierungen voneinander trennen. (d.h. man zieht z.B. Striche) Achtung: In manchen Büchern wird die Einheitsmatrix mit E bezeichnet. In MuPAD steht E für die Eulersche Zahl E. Diese Notation sollte man hier also nicht verwen den. Einheitsmatrix:= matrix([[1,0,0], [0,1,0], [0,0,1]]) Die benötigte erweiterte Matrix lautet: B.Einheitsmatrix Auf diese Matrix werden die Umformungsmatrizen angewandt. Iteration 1 UmformungsmatrixIteration1:=matrix([[1,0,0], [4,1,0], [7,0,1]]) Ergebnisiteration1:=UmformungsmatrixIteration1*B.Einheitsmatrix Iteration 2 UmformungsmatrixIteration2:=matrix([[1,0,0], [0,1,0], [0,2,1]]) Ergebnisiteration2:=UmformungsmatrixIteration2*Ergebnisiteration1 Iteration 3 UmformungsmatrixIteration3:=matrix([[2,0,1], [0,1,1], [0,0,1]]) Ergebnisiteration3:=UmformungsmatrixIteration3*Ergebnisiteration2 Iteration 4 UmformungsmatrixIteration4:=matrix([[3,4,0], [0,1,0], [0,0,1]]) Ergebnisiteration4:=UmformungsmatrixIteration4*Ergebnisiteration3 Iteration 5 Nun muss die linke Teilmatrix durch Multiplikation der jeweiligen Zeilen mit ge eigneten Faktoren in die Einheitsmatrix umgewandelt werden. Iteration5Zeile1:= linalg::multRow(Ergebnisiteration4,1,1/6): Iteration5Zeile2 := linalg::multRow(Iteration5Zeile1,2,1/3): ErgebnisIteration5:= linalg::multRow(Iteration5Zeile2,3,1/6) Die Inverse Matrix von B kann nun wie folgt aus der erweiterten Matrix extraiert werden: InversevonBversion3:=ErgebnisIteration5[1..3, 4..6] Zur Kontrolle erfolgt noch einmal der Nachweis, dass die hier ermittelte Inverse Matrix identisch mit der oben ermittelten Inversen Matrix ist. testeq(InversevonBversion1, InversevonBversion3) An dieser Stelle soll betont werden, dass die Verwendung von Umformungsmatrizen auf die Invertierung von Matrizen oder die Lösung von Gleichungssystemen natürlich überflüssig ist, wenn nur das Endergebnis das Ziel ist. Es gibt allerdings Argumente, die für die Verwendung von Umformungsmatrizen auf Zeilenumformungen mit MuPAD sprechen. 1) Die Darstellung der Algorithmen stellt einen mathematisch eigen ständigen Wert dar. 2) Mit Umformungsmatrizen sind direkte Simulationen manueller Rechnungen möglich. Diese Simulationen sind mit dem Befehl linalg::addRow nicht direkt möglich, da dort in der Regel be dingt durch die Syntax Brüche auftreten. Diese Brüche lassen sich zwar durch zusätzliche Verwendung des Befehls linalg::multRow vermeiden. Der dadurch nötige Aufwand ist allerdings höher als der Aufwand, der durch die Verwendung von Umformungsmatrizen entsteht. 3) Die zeitökonomische Verwendung von Umformungsmatrizen wird erst durch den Einsatz des Computeralebrasystems ermöglicht. ________________________________________________________________________________ Anmerkungen: 1. Weitere Anregungen finden Sie in der Buchreihe Mathematik 1 x anders. In dieser Reihe wird eine Vielzahl unterschiedlichster mathematischer Probleme mit MuPAD gelöst. Die Bücher können unter www.schule.mupad.de kostenfrei kopiert werden. 2. In diesem Notebook eine Möglichkeit, den Umgang mit Umformungsmatrizen kennenzulernen, gezeigt. Die Umformungsmatrizen werden dann auf die Lösung eines Gleichungssystems und ein Invertierungsproblem angewandt. Ist die Technik der Zeilenumformungen bereits bekannt, wird man dies zweckmäßigerweise an bereits bekannten Beispielen durchführen. Im konkreten Fall liegen Vergleichsmöglichkeiten mit zwei vorhandenen Notebooks vor. 3. Der experimentelle und dialogorientierte Prozess des Kennenlernens ist natürlich in einem doch statischen Notebook nur ansatzweise darstellbar. 4. In diesem Notebook werden die Umformungsmatrizen jeweils mit ausgegeben, da der Umgang mit den Umformungsmatrizen in diesem Notebook gezeigt werden sollte. Ist das Verfahren geklärt, kann auf die Ausgabe der Umformungsmatrizen in Folgenotebooks verzichtet werden. 5. Weitere Notebooks zu diesem Thema finden Sie über die Volltextsuche der Materialsammlung, wenn Sie nach dem Namen des Autors suchen. ________________________________________________________________________________
© Copyright 2024 ExpyDoc