Die Berechnung der Adjungierten Matrix in Octave
In diesem Leitfaden beschäftigen wir uns mit der Berechnung der adjungierten Matrix mittels Octave.
Zunächst klären wir, was eine adjungierte Matrix überhaupt ist. Einfach erklärt ist dies die Transponierte der Kofaktormatrix, die aus einer quadratischen Matrix abgeleitet wird.
Für die Berechnung der adjungierten Matrix multiplizieren Sie die Inverse der ursprünglichen Matrix mit ihrer Determinante, und zwar so:
>> inv(A)*det(A)
Übertragen wir dies in die Praxis. Definieren Sie zuerst eine 3x3-Quadratmatrix und weisen Sie diese der Variable A zu
>> A=[1 2 0 ; 3 4 5; 0 1 1]
Anschließend berechnen Sie deren adjungierte Matrix mithilfe des zuvor genannten Ausdrucks
>> inv(A)*det(A)
ans =
-1 -2 10
-3 1 -5
3 -1 -2
So erhalten Sie die adjungierte Matrix von A.
Alternativ lässt sich die adjungierte Matrix auch mit der Funktion adjoint() des Symbolic-Pakets berechnen.
adjoint()
Das Symbolic-Paket in Octave bietet eine Reihe zusätzlicher Funktionen für symbolische Manipulationen mathematischer Ausdrücke.
Falls Sie es noch nicht installiert haben, können Sie das mit folgendem Befehl nachholen:
pkg install -forge symbolic
Haben Sie es bereits installiert, laden Sie einfach das Symbolic-Paket in den Speicher
pkg load symbolic
Ist das Symbolic-Paket erst einmal geladen, können Sie die Funktion adjoint() zur Berechnung der adjungierten Matrix nutzen.
Hier ein praktisches Beispiel dafür.
Definieren Sie zunächst eine Quadratmatrix in der Variable A:
>> A=[1 2 0 ; 3 4 5; 0 1 1]
Nutzen Sie dann die Funktion adjoint(A) zur Berechnung der adjungierten Matrix und speichern Sie das Ergebnis in der Variable adj_A
>> adj_A = adjoint(A);
Die adjungierte Matrix wird nun in der Variable adj_A gespeichert
>> adj_A
adj_A =
-1 -2 10
-3 1 -5
3 -1 -2
Sollten Sie auf Probleme stoßen, existiert eine alternative Methode, die symbolische Berechnungen nutzt.
Wandeln Sie die Matrix mithilfe des Befehls sym in ein symbolisches Objekt um
A_sym = sym(A);
Berechnen Sie anschließend die adjungierte Matrix von A mit der Funktion adjoint()
adj_A = adjoint(A_sym);
Zum Schluss konvertieren Sie das Ergebnis wieder in eine numerische Matrix.
adj_A_num = double(adj_A)
Das Endresultat ist die adjungierte Matrix von A
>> adj_A
adj_A = (sym 3×3 matrix)
-1 -2 10
-3 1 -5
3 -1 -2
Wichtig zu beachten ist, dass die adjungierte Matrix nur für Quadratmatrizen definiert ist.
Der Versuch, die adjungierte Matrix einer nicht-quadratischen Matrix zu berechnen, wird in Octave zu einem Fehler führen.