Die inverse Matrix in Octave
In der vorliegenden Lektion werden wir uns damit beschäftigen, wie die inverse Matrix einer quadratischen oder rechteckigen Matrix in Octave berechnet werden kann.
Zunächst einmal: Was versteht man unter einer inversen Matrix? Eine Matrix M lässt sich invertieren, wenn eine dazu passende inverse Matrix M-1 existiert, sodass das Produkt der beiden Matrizen eine Einheitsmatrix ergibt. Eine Einheitsmatrix zeichnet sich dadurch aus, dass ihre Hauptdiagonale ausschließlich aus Einsen besteht und alle übrigen Elemente den Wert null aufweisen. Dies kann beispielsweise so ausgedrückt werden: $$ M \cdot M^{-1} = I $$
Lassen Sie uns dieses Konzept an einem praktischen Beispiel verdeutlichen.
Wir definieren eine quadratische 2x2-Matrix.
>> M=[1 2;3 4]
M =
1 2
3 4
Die inverse Matrix von M lässt sich mithilfe der Funktion inv() berechnen.
>> inv(M)
ans =
-2.00000 1.00000
1.50000 -0.50000
Nun multiplizieren wir Matrix M mit ihrer Inversen inv(M).
Das Resultat ist die Einheitsmatrix.
>> M*inv(M)
ans =
1.00000 0.00000
0.00000 1.00000
Beachten Sie bitte, dass Sie die Funktion inv() nur dann anwenden können, wenn Matrix M eine quadratische Matrix ist.
Anmerkung: Nicht jede quadratische Matrix lässt sich invertieren. So existiert beispielsweise keine inverse Matrix für quadratische Matrizen mit einer Determinante von null (diese werden als singuläre Matrizen bezeichnet). Wenn keine inverse Matrix vorhanden ist, gibt Octave eine Warnmeldung aus: "Matrix is singular to working precision". Um Fehler zu vermeiden, rate ich stets dazu, zu überprüfen, ob das Produkt M * inv(M) tatsächlich eine Einheitsmatrix ergibt.
Wie lässt sich die inverse Matrix einer rechteckigen Matrix berechnen?
Auch in Octave können Sie die inverse Matrix einer rechteckigen Matrix berechnen.
Hierbei müssen Sie allerdings die Pseudoinverse Funktion pinv() verwenden.
So definieren Sie beispielsweise eine rechteckige 2x3-Matrix mit zwei Zeilen und drei Spalten.
>> M2=[1 2 3 ; 4 5 6]
M2 =
1 2 3
4 5 6
Nun berechnen Sie die inverse Matrix der rechteckigen Matrix mithilfe der Funktion pinv()
>> pinv(M2)
ans =
-0.94444 0.44444
-0.11111 0.11111
0.72222 -0.22222
Wenn Sie nun die rechteckige Matrix M2 mit ihrer Inversen multiplizieren, erhalten Sie als Resultat wieder die Einheitsmatrix.
>> M2*pinv(M2)
ans =
1.00000 -0.00000
0.00000 1.00000
Auf diese Weise können Sie auch für rechteckige Matrizen Inverse finden.
Anmerkung: Sie können auch für quadratische Matrizen die Funktion pinv() anstelle der Funktion inv() zur Berechnung der inversen Matrix verwenden. Das Ergebnis ist in beiden Fällen dasselbe. Die Funktion inv() ist jedoch nicht für rechteckige Matrizen anwendbar.