Umformungsmatrizen - weber

________________________________________________________________________________
Inhalt....: Anwendung von Umformungsmatrizen auf Zeilenumformungen
Kategorie.: Unterrichtsmaterial
Mathematik: Lineare Algebra
MuPAD.....: 3.1.0
Datum.....: 2005­06­24
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. ________________________________________________________________________________