Mathematik von T. Arens, F. Hettlich, Ch. Karpfinger, U. Kockelkorn, K. Lichtenegger, H. Stachel (zu Kapitel 17: Lineare Abbildungen)restart; DarstellungsmatrizenWir versuchen uns eine lineare Abbildung zu veranschaulichen. Nehmen wir zum Beispiel das Bild des Quadrats mit den Eckpunkten x1 = NiMpNiQiIiIiIiFJIlRHNiI=, x2 = NiMpNiQiIiEiIiJJIlRHNiI=, x3 =NiMpNiQsJCIiIiEiIiIiIUkiVEc2Ig==, x4 = NiMpNiQiIiEsJCIiIiEiIkkiVEc2Ig==Sammeln wir diese Vektoren spaltenweise in einer Matrix.x:=matrix(2,4,[[1,0, -1, 0],[0, 1, 0, -1]]);Als lineare Abbildung waehlen wir die durch die Darstellungsmatrix A:=matrix(2,2,[[1,-1/2],[1/2,0]]);gegebene Abbildung. Die Bildpunkte ergeben sich aus dem Produkt von A mit jedem dieser Vektoren. Nutzen wir die Matrixmultiplikation, so erhalten wiry:=evalm(A&*x);Die Spalten dieser Matrix sind die Bilder der Vektoren in x unter dieser linearen Abbildung.Betrachten wir nun das Bild eines Quadrat (blau). Das abgebildete Objekt wird rot dargestellt. Beachten Sie, da die Abbildung linear ist. Daher genuegt es, die Bilder der Eckpunkte zu kennen, da die Verbindungsstrecken erhalten bleiben.plot1points := [seq( [x[1,i], x[2,i]], i=1..4 ),[x[1,1], x[2,1]]]:
plot2points := [seq( [y[1,i], y[2,i]], i=1..4 ),[y[1,1], y[2,1]]]:
plot1 := plot(plot1points,x=-1..1,y=-1..1,color=blue,style=line):
plot2 := plot(plot2points,x=-1..1,y=-1..1,color=red,style=line):
plots[display]([plot1,plot2]);Bemerkung: Um das Bild zu erzeugen, musste zunaechst mit Hilfe des Befehls seq eine Liste der Koordinaten der Eckpunkte erstellt werden, bevor mit dem plot Befehl die Bilder erzeugt wurden. Das Kommando plots[display] ruft den display Befehl des plots Pakets aufAnalog koennen wir uns auch eine Drehung etwa um NiMqJkkjUGlHSSpwcm90ZWN0ZWRHRiUiIiIiIiQhIiI= klar machen. Wir geben die zugehoerige Darstellungsmatrix ein:w:=Pi/3;
A:=array([[cos(w),sin(w)],[-sin(w),cos(w)]]);und erhalteny:=evalm(A&*x);und das gedrehte Bild des Quadrats:plot1points := [seq( [x[1,i], x[2,i]], i=1..4 ),[x[1,1], x[2,1]]]:
plot2points := [seq( [y[1,i], y[2,i]], i=1..4 ),[y[1,1], y[2,1]]]:
plot1 := plot(plot1points,x=-1..1,y=-1..1,color=blue,style=line):
plot2 := plot(plot2points,x=-1..1,y=-1..1,color=red,style=line):
plots[display]([plot1,plot2]);Einige weitere Befehle zu linearen Abbildungen stehen zur Verfuegung. So koennen wir den Kern einer Abbildung bzw. der zugehoerigen Darstellungsmatrix durch den Befehl kernel aus dem linalg Paket bestimmen lassen.A:= matrix(4,4,[[1,2,3,4],[2,3,4,5],[3,4,5,6],[4,5,6,7]]);
linalg[kernel](A);
Die Ausgabe bedeutet, dass der Kern dieser Abbildung gerade der durch die angegebenen beiden Vektoren aufgespannte Unterraum ist. Aufgaben1. Veranschaulichen Sie sich das Bild des Dreiecks mit den Eckpunkten NiMvJSN4MUcpNiQiIiIiIiElIlRH, NiMvJSN4MkcpNiQiIiJGJyUiVEc=, NiMvJSN4M0cpNiQiIiEiIiIlIlRHbei einer Spiegelung an der Geraden, die durch die Hessesche NormalformNiMvKiYsJiomIiIkIiIiJSR4XzFHRihGKComIiIlRiglJHhfMkdGKEYoRigiI0QhIiIiIiE=gegeben ist.LoesungZunaechst definieren wir den Normalenvektor und die Speigelungsmatrixa:= 1/5*array([[3],[4]]);
S:= evalm(array([[1,0],[0,1]]) - 2*a&*transpose(a));Nun noch die Eckpunkte (wieder in einer Matrix gesammelt).x:=array([[1,1, 0],[0, 1, 1]]);Wir berechnen die Bildpunkte,y:=evalm(S&*x);und verschaffen uns wie oben beschrieben ein Bild.plot1points := [seq( [x[1,i], x[2,i]], i=1..3),[x[1,1], x[2,1]]]:
plot2points := [seq( [y[1,i], y[2,i]], i=1..3 ),[y[1,1], y[2,1]]]:
plot3points := [ [-4,3], [4,-3] ]:
plot1 := plot(plot1points,x=-1..1,y=-1..1,color=blue,style=line):
plot2 := plot(plot2points,x=-1..1,y=-1.5..1.5,color=red,style=line):
plot3 := plot(plot3points,x=-1..1,y=-1..1,color=green,style=line):
plots[display]([plot1,plot2,plot3],scaling=CONSTRAINED);2. Eine lineare Abbildung v:NiMqJEkiUkc2IiIiJA== ->NiMqJEkiUkc2IiIiJA== hat bezueglich der BasisNiMvSSNiMUc2Iik2JSIiIkYoRihJIlRHRiU=, NiMvSSNiMkc2Iik2JSIiIiIiIUYoSSJUR0Yl und NiMvSSNiM0c2Iik2JSIiIkYoIiIhSSJUR0Yl
die Darstellungsmatrix [ 1 2 3 ] A=[ 1 0 1 ] [ -1 -1 2 ] Wie lautet die Darstellungsmatrix der Abbildung bezueglich der Standartbasis?LoesungWir geben die Matrix A und die Basisvektoren, spaltenweise gesammelt in T, ein: A:=matrix(3,3,[[1, 2, 3],[1, 0, 1],[-1, -1, 2]]);
T:=matrix(3,3,[[1,1,1],[1,0,1],[1,1,0]]);Die Matrix ist die Transformationsmatrix von der Basis {b1,b2,b3} auf die Standartbasis. Also ergibt sich fuer die Darstellungsmatrix der Abbildung bezueglich der StandartbasisAneu:= evalm(T&*A&*linalg[inverse](T));Bemerkung: Da wir vorher in diesem Abschnitt das Paket linalg nicht geladen haben, ist es an dieser Stelle noetig, den gesamten Befehl fuer die Inverse anzugeben oder, alternativ, das Paket vollstaendig einzubinden.