Lineare Algebra

Mathematik in wxMaxima www.mathematik-verstehen.de Haftendorn Dez 2010

0.1 Handling

Achtung: Durch Anklicken der linken Zellmarkierung kann man die
Abschnitte und auch einzelne Zellen aufklappen und auch wieder zuklappen.

Endung *.wxmx ist komfortabel. Ist die Endung *.wxm muss man
erst noch alle Ausgaben neu erzeugen. Mit Strg r werden alle aufgeklappten Zellen ausgewertet.
Zum Lernen ist es besser die Zellen einzeln (mit Shift+Enter) auszuwerten.

Werte einzelne Zellen aus mit Shift-Enter.
Auswertung in einem Rutsch: Falte alle Abschnitte auf,
werte alle Zellen mit Strg r aus ( auch Menu Cell Alle Zellen auswerten).

wxMaxima ist über Maxima und Macsyma ein Lisp-Abkömmling.
Die Sprache Lisp ist Listenorientiert. Daher spielt auch bei
wxMaxima das Listenkonzept eine große Rolle.

0.2 Inhalt

1 Matrizen und Vektoren
    1.1 Definition von Matrizen
    1.2 Verändern von Matrizen
    1.3 Rechnen mit Matrizen
2 Lineare Gleichungssysteme
    2.1 Betrachung der Koeffizientenmatrix
    2.2 Gleichungen, bei denen die Varablen genannt werden
    2.3 Gleichungen, bei deren Lösung Variable belegt werden
    2.4 Lineare Gleichungen mit Matrizen lösen
    2.5 Automatisches Aufstellen des Gleichungssystems
3 Affine Abbildungen

1 Matrizen und Vektoren

1.1 Definition von Matrizen

Direkte Eingabe zeilenweise in Listen:

(%i1) cc:matrix([1,2,3,4],[5,6,7,8],[x,b,c,d]);
bb:matrix([8,9],[-1,2],[3,-4]);

Result

der Doppelpunkt ist in Maxima das Zuweisungszeichen

Interaktive Eingabe,
Achtung: nach jeder Zeile shift+Enter
Erst /* und */1 löschen, eigefügt,
damit automatische Auswertung klappt

(%i108) /* aa:entermatrix(2,3) */1;
Result

(%i107) aa:matrix([9,6,-6],[-3,-9,4]);
Result

Wenn man sich bei dieser Methode verschrieben hat, markiert man die Ausgabe,
kopiert sie mit strg c

1.2 Verändern von Matrizen

Anfügen einer Zeile

(%i5) aaa:addrow(aa,[0,-7,8]);
Result

(%i6) bv:transpose(matrix([9,-2,7]));
Result

transpose sorgt für die Spaltenform

(%i7) aae:addcol(aaa,[9,-2,7]);
Result

Mit addcol kann man aber auch eine einfache Liste als
Spalte anfügen, bv hätte man auch schreiben können statt [9,-2,7].

So erhält man also die erweiterte Matrix

1.3 Rechnen mit Matrizen

(%i8) aaa.bb;
Result

Achtung, Multiplikation mit Punkt statt mit dem mal-*

Transponieren einer Matrix

(%i9) bbt:transpose(bb);
Result

(%i10) aa+5*aa;
Result

Anfügen einer Zeile

(%i11) bbb:addrow(bbt,[1,-2,-3]);
Result

Addition, Subtraktion

(%i12) [aaa+bbb,aaa-bbb];
Result

Wie erwartet komponentenweise, in einer Zeile notiert zum Platzsparen.

2 Gleichungssysteme

2.1 Betrachtung der Koeffizienzenmatix

Beispiel das auch am TI Nspire vewendet ist

Fassen wir aae als lineares Gleichungssystem auf.
Drei Variabe, drei Gleichungen mit rechter Seite.

(%i13) aae;
Result

(%i14) triangularize(aae);
Result

(%i15) echelon(aae);
Result

Dieser Befehl entspricht ref(M) beim TI Nspire.

(%i16) rank(aae);
Result

Dieses kann man dann entsprechend deuten.

2.2 Gleichungen, bei denen die Varablen genannt werden

(%i20) g1:9*r+6*s-6*t=9;
g2:-3*r-9*s+4*t=-2;
g3:-7*s+8*t=7;

Result

Den nachfolgenden Eintrag erhält man interaktiv mit dem Menü
Gleichunegen->löse lineares System. Man trägt dann g1, g2 und g3 ein,
bei Variablen trägt man r,s,t ein, mit Kommata getrennt.

(%i23) linsolve([g1, g2, g3], [r,s,t]);
Result

(%i24) linsolve([g1,g2,g3],[r,s,t]);
Result

(%i25) [r,s,t];
Result

Hier werden die Ergebnisse nur angezeigt.

2.3 Gleichungen, bei deren Lösung Variable belegt werden

(%i26) globalsolve:true$

(%i27) linsolve([g1,g2,g3],[r,s,t]);
Result

(%i28) [r,s,t];
Result

Nun sind r,s und t belegt und nicht mehr frei.

(%i29) [g1, g2,g3];
Result

(%i30) linsolve([g1,g2,g3],[r,s,t]);
Result

Man kann das Gls nicht mehr lösen.
Darum stelle ich leber wieder die Globale Option zurück auf den
voreingestellten Wert false

(%i31) globalsolve:false$

(%i48) remvalue(r,s,t)$ [r,s,t];
Result

Die Variablen sollen wieder freigegeben werden

2.4 Lineare Gleichungen mit Matrizen lösen

(%i32) xv:transpose(matrix([xx,yy,zz]));
Result

(%i33) aaa;
Result

Wenn die Koeefizientenmatrix ein Inverses hat,
dann ist die Lösung ds Sytem aaa.xv=bv zu haben:

(%i34) ainv:invert(aaa);
Result

(%i35) xv=ainv.bv;
Result

(%i36) xv[1,1];
Result

Hier finden keine Zuweisungen statt

2.5 Automatisches Aufstellen des Gleichungssystems

(%i60) angl:3 /*Anzahl der Glaichungen*/$

(%i61) glsli:makelist((aaa.xv) [i,1]=bv[i,1],i,1,angl);
Result

(%i62) linsolve(glsli,[xx,yy,zz]);
Result

(%i63) solve(glsli,[xx,yy,zz]);
Result

3 Affine Abbildungen, rechnerisch

(%i100) aaa;
Result

(%i101) tx:1$ ty:2$ tz:-1$

(%i104) tv:transpose(matrix([tx,ty,tz]));
Result

(%i105) f(xv):=aaa.xv+tv;
Result

(%i96) f(xv);
Result

(%i72) aaa.aaa;
Result

(%i71) aaa;
Result

(%i97) tvm(tv):=addcol(tv,tv,tv);
Result

(%i98) fm(xv):=aaa.xv+tvm(tv);
Result

(%i99) fm(aaa);
Result


Created with wxMaxima.