Quantcast
Channel: GIS, Geodaten, Geoinformatik - Lineare Algebra

Gauß-Algorithmus

$
0
0
Mit dem Gauß-Algorithmus kann man Gleichungssysteme lösen. In der Schule sind dies meist welche mit drei Variablen und drei Zeilen (das hat mit Dreisatz nichts zu tun). Der Gaus'sche Algorithmus ist auch als Gauß-Jordan-Methode oder als Gaußsches Eliminationsverfahren bekannt und man kann beliebig große Gleichungssysteme angehen, eher selten werden Studenten mit mehr Zeilen und Variablen belastet.

Ähnlich den Äquivalenzumformungen, die man für Terme verwendet um diese umzustellen gibt es Operationen, die man mit den Zeilen in einem Gleichunsgsystem durchführen kann, ohne dass sich der Wert der Variablen verändert:
* Erweitern einer Zeile mit einem Wert
* Addieren einer Zeile zu einer anderen

Das ganze kann man auch kombiniert anwenden. Die Strategie sieht dann so aus, dass man die Zeilen so erweitert dass bei der Addition eine Variable in einer Zeile wegfällt. Die wird so angelegt, dass sich eine obere Dreiecksmatrix ergibt.

Die kombinierte Anwendung der beiden Regeln erfordert Disziplin, dazu zwei Tipps:
* Immer so erweitern, dass man nur addieren muss, beim subtrahieren stellt sich nämlich sonst jedesmal die Frage, was von was abziehen?
* Die erweiterte Gleichung mit Bleistift über die Gleichung schreiben, damit man nicht durcheinanderkommt.
Bei der Addition von Vielfachen kann es erforderlich sein, zwei Zeilen mit unterschiedlichen Werten zu erweitern, damit eine bestimmte Variable endlich herausfällt.

Eine schlechte und eine gute Nachricht: Dabei können recht große Zahlen entstehen. Aber fiese Brüche kann man sich meist ersparen und vor allem klappt es auch immer. Dazu geht man so vor, dass die erste Variable (meist x genannt) nur noch in der ersten Zeile steht. So arbeitet man sich dann durch, dass die zweite Variable (meist y) nur noch in den ersten beiden Zeilen steht. Schließlich ist dann in der letzten Zeile so etwas wie z=5.

Damit kann man dann den zweiten Schritt des Gauß-Verfahrens beginnen. In der Rückeinsetzung wird nun Stück für Stück aufgelöst, in dem die bekannten Werte eingesetzt werden. Also der Wert für z als Konstante in die y-Gleichung und so weiter, so dass man alle Wert herausbekommt.


Determinanten berechnen

$
0
0
Wenn man Matrizen rechnet ist eine der ersten Dinge mit den man zu tun hat die Berechnung von Determinanten. Matrizen sind einfach nur Zahlen, die zusammen in Zeilen und Spalten geschrieben werden, sogar Excel kann damit umgehen.

Die Zahlen ein Zeilen und Spalten ergeben eine Matrix, die üblicherweise mit einem großen Buchstaben bezeichnet wird. Die Determinate findet man oft mit Strichen so ählich wie Betragsstrichen notiert - und wegen der Verwechslungsgefahr verwende ich diese Schreibweise auch nicht. Schön wenn man das berechnen kann, denkt sich der Student, aber die Bedeutung der Determinante wird erst später klar, wenn man damit arbeitet.

Wenn man mal davon ausgeht dass die Werte in der Matrix ein Gleichungssystem darstellen, bei dem die gleichen Variablen wie x, y oder z in den Spalten stehen und die Zeilen eben die Zeilen des Gleichungssystems entsprechen, kann an mit der Determinante bestimmen, ob das Gleichungssystem lösbar ist. In diesem Fall ist nämlich die Determinaten ungleich null, man spricht auch von einer regulären Matrix - im anderen Fall von einer singulären Matrix, und die Determinante ist null.

Moderne Taschenrechner können Determinaten auch schon selbst berechnen. Man gibt dazu die Matrix mit eckigen Klammern ein und speichert sie in einer Variablen wie A, dann kann man mit einer Funktion wie det(A) die Determinante ausspucken lassen. Excel kann sowas auch, die Funktion heißt MDET() und bekommt als Parameter einen Zellbereich.

Es gibt Ansätze mit denen man auch von riesig großen Matrizen die Determinate berechnet kann, vor allem der LaPlace'sche Entwicklungssatz. Für Computer ist das gar kein Problem, viele Berechnungen stumpf nacheinander durchzuführen und sie die Zwischenergebnisse zu merken. Mit Stift und Papier nervt das aber sehr und wird dem Student typischerweise erspart, hier werden daher nur Martrizen im Format 2x2 und 3x3 verlangt.

Das Format 2x2 ist nun sehr einfach - das Produkt der Diagonalen wird voneinander subtrahiert. Genauer gesagt, das Produkt der Werte der Hauptdiagonale minus das der Nebendiagonale. Also eine Matrix A=[[1,2][3,4] hat det(A) = 1*4-2*3 =-2 und ist damit übrigens reguläre Matrix (weil ungleich null).

Für das Format 3x3 wird im Studium dann üblicherweise die Sarrus'sche Regel strapaziert. Dabei wird die Matrix nach rechts mit dem Bleistift um zwei Spalten erweitert, die genauso wie die ersten beiden Spalten der Matrix aussehen, also einfach die ersten beiden noch mal daneben schreiben.
So ergeben sich drei Haupt- und drei Nebendiagonalen. Die Produkte der beiden Typen werden addiert und die Ergebnisse voneinander abgezogen. So wie in diesem Fall mit B=[[1,2,3][4,5,6][7,8,9]] und det(B) = (1*5*9 + 2*6*7 + 3*4*8) - (7*5*3 + 8*6*1 + 9*4*2) = (45+84+96)-(105+48+72) = 225-225 = 0 - damit haben wir diesmal dann sogar eine singuläre Matrix!

Cramer'sche Regel

$
0
0
Die cramer'sche Regel wird auch als Determinantenmethode bezeichnet und ist eine Methode für die Lösung von linearen Gleichungssystemen. Erfunden hats mal wieder ein Schweizer und zwar Gabriel Cramer im Jahr 1750.

Dazu eine gute und eine schlechte Nachricht. Die gute vorweg: Alle Gleichungssysteme, also auch ganz große, lassen sich damit bequem algorithmisch lösen. Die schlecht sofort hinterher: Der Rechenaufwand ist normal viel zu hoch, da dann irre viele Determinanten berechnet werden müssen. Das macht diese Regel vor allem für Computer-Programme aber sehr interessant! In der Schule werden daher aber nur 2x2- oder 3x3-Matrizen mit Lösungsvektor behandelt.

Die Anwendung ist ganz einfach. Nehmen wir mal ein Gleichungssystem wie: x-3y=5 und 6x+8y=-1. Es ergibt eine Aufgabenmatrix (Zeilen zuerst lesen) wie z.B. A=[[1,-3][6,8]] und einen Lösungsvektor L=[[5][-1]].

Durch Einsetzen des Lösungsvektor spaltenweise ergeben sich zwei Zusatzmatrizen. Erst der Lösungsvektor in die erste Spalte, es kommt Matrix A1[[5,-3][-1,8]]. Das gleich noch mal mit der zweiten Spalte: A2=[[1,5][6,-1]].

Nun kommt die Berechnung der Determinanten:
det(A)=(1*8)-(-3*6)=26
det(A1)=(5*8)-(-1*-3)=37
det(A2)=(1*-1)-(6*5)=-31

Jetzt kann Meister Cramer um die Ecke kommen, der sagt nämlich:
x =det(A1)/det(A) = 37/26
y= det(A2)/det(A) =-31/26

Leider etwas krumme Ergebnisse die sich nicht ordentlich kürzen lassen, aber die trotzdem richtig sind. Die Probe mit Kollege Gauss sei dem geneigten Leser zur Übung überlassen.

Inverse Matrix berechnen

$
0
0
Die inverse Matrix ist die Matrix zu einer regulären Matrix A (also lösbar!, det(A) ist nicht 0!) die mit A multipliziert die Einheitsmatrix ergibt, also gewissermaßen der Kehrwert der Matrix. Für die Berechnung der inversen Matrix gibt es zwei wesentliche Möglichkeiten. Die mit dem modernen Taschenrechner lassen wir mal außen vor - Geräte wie der TI Voyage 200 können mit Matrizen rechnen und da gibt man dann nur so etwas die A-1 ein und die inverse Matrix wird ausgespuckt.

Inverse Matrix mittels Zeilenumformungen
Bei dieser Methode wird die Einheitsmatrix rechts neben die Matrix geschrieben, deren inverse Matrix gesucht ist. Nun wird die linke Matrix mit den gültigen Methoden (vervielfachen, addieren, vertauschen) bearbeitet, bis auf der linken Seite eine Einheitsmatrix steht. Alle Operationen werden genau so auch auf der rechten Seite durchgeführt. Wenn man links fertig ist steht rechts das Ergebnis.

Inverse Matrix über die adjungierte Matrix
Aus der cramer'schen Regel leitet sich die Methode ab, die Inverse einer Matrix mittels der Adjunkten zu berechnen. Für die in der Schule üblichen Matrizen der Größe 2x2 und 3x3 gibts es dazu einfache Formeln, in die man einfach nur einsetzen muss:

Es wäre auch möglich eine Formel für größere Matrizen anzugeben, aber das wäre sehr unhandlich.

Diese Methode ist aber gut in einem Algorithmus zu verpacken und daher für Computer geeignet.

Extremstellen und Sattelpunkte mit Jacobi-Matrix bestimmen

$
0
0
Wer nun an die Analysis denkt, hat natürlich völlig recht. Aber man kann über die Determinante der Jacobi-Matrix mit den partiellen Ableitungen mehrdimensionaler Funktionen Extremstellen und Sattelpunkte bestimmen.

Ein Beispiel möge das verdeutlichen, nehmen wir eine Funktion wie:
f=x²-4xy+6y²-x+2y+1

Dann ergeben sich partielle Ableitungen:
fx=2x+4y-1
fy=-4y+12+2

Beide lassen sich auf Null setzen um die Nullstellen der ersten Ableitungen sowohl von x als auch von y zu bestimmen:
2x-4y-1=0 und -4x+12y+2=0
Mit diesen Einsetzungen ergibt sich nach trivialen Umformungen:
y=0, x=0.5

Nun werden weitere partielle Ableitungen gebildet, dabei ist nach dem Satz von Schwarz fxy immer gleich fyx. Trotzdem kann man locker eben beide bestimmen um eine Probe gegen die üblichen Flüchtigkeitsfehler bei den partiellen Ableitungen zu haben.
fxx=2
fxy=fyx=4
fyy=12

Die Jacobi-Matrix wird im zweidimensionalen Fall mit [[fxx,fxy][fyx,fyy] notiert und wir haben damit J=[[2,-4][-4,12]] und det(J)=8.

Wäre det(J)0 muss nun überprüft werden, ob fxx und fyy beide >0 sind. Hier sind beide >0, daher haben wir ein Minimum. Im Fall von fxx und fyy

Skalarprodukt

$
0
0
Vektoren addieren erscheint simpel und lässt sich auch gut veranschaulichen. Die Multiplikation dagegen ist Definitionssache. Die normale Matrizen-Multiplikation (so mit dem Falk-Schema) funktioniert wegen der Dimensionen nicht.

Neben dem Kreuzprodukt oder Vektorprodukt, wo das Ergebnis ein Vektor ist, gibt es auch das Skalarprodukt, wo man einen Skalar, also eine Zahl, als Ergebnis bekommt.

Das ganze darf man auch nicht mit der S-Multiplikation verwechseln! Während bei der Skalarmultiplikation zwei Vektoren multipliziert werden und eine Zahl raus kommt, wird bei der S-Multiplikation einfach ein Vektor verlängert oder verkürzt indem er mit einer Zahl (aber eben auch ein Skalar um die Vewrirrung komplett zu machen) multipliziert wird.

Also unbedingt merken: Skalarprodukt heißt so, weil ein Skalar rauskommt. Und zwar hat man das so definiert:
A*B = a*b*cos(phi)
Auf Deutsch: Das Skalarprodukt von den Vektoren A und B ergibt das Produkt der Längen der Vektoren mal den Cosinus des zwischen den beiden Vektoren eingeschlossenen Winkels.

Das ist ganz irre nützlich, weil man diesen Winkel damit bestimmen kann: Die Länge der Vektoren ist nämlich direkt aus diesen zu berechnen, Peter Pythagoras ist dabei unser Freund. Man kann sich das dann so umstellen:
cos(phi) = (A*B)/(a*b)
Wäre das Ergebnis kein Skalar, könnten wir auch nicht durch die Längen teilen. So brauchen wir aber nur noch das Ergebnis des Bruchs mit dem Arcuscosinus weiterzurechnen und haben den Winkel.

Interessanterweise ist der Cosinus von 90° immer Null - das bedeutet dann weiter, dass man mit dem Skalarprodukt sehr schon auf orthogonale, also rechtwinklig aufeinander stehende Vektoren prüfen kann. Bei der Normalenform macht man sich das zu nutze, indem man eine Gleichung hat die Null sein muss.

Alle Punkte die man einsetzen kann und bei der die Gleichung Null wird liegen in der Ebene, weil ein Vektor zu diesem Punkt senkrecht zu dem Normalenvektor der genau diese Ebene definiert stünde. Bei der Hesse'schen Normalform (also die mit dem Normalenvektor mit der Länge eins) bekommt man wegen des enthaltenen Skalarprodukts sogar direkt den Abstand zur Ebene statt Null raus.

Der Vollständigkeit halber noch die Berechnung des Skalarprodukts: Vektoren nebeneinander schreiben, a1 mit b1, a2 mit b2, a3 mit b3 multiplizieren und die Produkte zusammenaddieren. Beispiel: [1,2,3] mal [4,5,6] ist: 1*4+2*5+3*6 = 32.




Latest Images

Pangarap Quotes

Pangarap Quotes

Vimeo 10.7.0 by Vimeo.com, Inc.

Vimeo 10.7.0 by Vimeo.com, Inc.

HANGAD

HANGAD

MAKAKAALAM

MAKAKAALAM

Doodle Jump 3.11.30 by Lima Sky LLC

Doodle Jump 3.11.30 by Lima Sky LLC