HOWTO · Python
Python-Determinante
Dieses Tutorial zeigt, wie man die Determinante einer quadratischen Matrix in Python findet.
Auf dieser Seite
Eine Determinante ist ein Skalar, der einer quadratischen Matrix zugeordnet ist, also einer Matrix mit gleich vielen Zeilen und Spalten. Für die 2×2-Matrix [[7, 5], [2, 4]] verwenden Sie die Formel (7 × 4) − (5 × 2), um eine Determinante von 18 zu erhalten. In Python ist NumPy eine praktische Wahl für numerische Arrays, während SymPy ganzzahlige und symbolische Berechnungen exakt halten kann. Die folgenden Beispiele verwenden beide Bibliotheken mit denselben 2×2- und 3×3-Matrizen, damit Sie den Ansatz wählen können, der zu Ihrer Berechnung passt.
Determinante einer quadratischen Matrix in Python mit numpy.linalg.det() berechnen
Installieren Sie NumPy in der Python-Umgebung, in der Sie das Programm ausführen möchten, mit python -m pip install numpy. Dieser Befehl installiert das Paket für den Interpreter, der als python aufgerufen wird; in einem Notebook oder einer virtuellen Umgebung müssen Sie darauf achten, dass der Befehl auf dieselbe Umgebung zielt, die Ihren Code ausführt. Das vollständige Beispiel importiert NumPy, erstellt zwei quadratische Arrays und ruft für jedes numpy.linalg.det() auf. Diese API ist eine Funktion, die eine array-ähnliche Matrix als Eingabe akzeptiert. Das Beispiel wird als ausführbarer Code bereitgestellt, es wurde jedoch keine Laufzeitausgabe dafür erfasst.
import numpy as np
matrix_2x2 = np.array([[7, 5], [2, 4]])
matrix_3x3 = np.array([[7, 5, 3], [2, 4, 1], [5, 8, 6]])
print("2x2 determinant:", np.linalg.det(matrix_2x2))
print("3x3 determinant:", np.linalg.det(matrix_3x3))
Für diese Einträge sind die exakten mathematischen Ergebnisse 18 und 65. NumPy rechnet mit Gleitkommaarithmetik, daher kann die gedruckte Darstellung eine kleine Abweichung in der Genauigkeit gegenüber einer exakten Ganzzahl aufweisen. Das ist bei numerischen Berechnungen zu erwarten und bedeutet für sich genommen nicht, dass die Matrix oder die Berechnung falsch ist. Behalten Sie die zurückgegebene Genauigkeit bei, wenn spätere Operationen davon abhängen. Runden Sie zur Anzeige nur, wenn die Toleranz Ihrer Anwendung dies zulässt; das Runden eines Zwischenergebnisses kann spätere Berechnungen beeinflussen. Wenn Ihre Eingabewerte Messungen oder Näherungen sind, ist auch die Determinante eine Näherung, unabhängig davon, wie viele Stellen ausgegeben werden.
NumPy ist nützlich, wenn Ihre Matrizen bereits Arrays sind oder wenn Sie mit numerischer linearer Algebra arbeiten. Die Funktion akzeptiert quadratische Matrizen unterschiedlicher Größe, und NumPy kann auch mit Stapeln von Matrizen arbeiten. Dieser Artikel beschränkt das Beispiel auf ein einzelnes 2×2- und ein einzelnes 3×3-Array, damit Eingabe und Ergebnis leicht zu vergleichen sind. Eine Determinante ist nur für quadratische Matrizen definiert, prüfen Sie also, ob Zeilen- und Spaltenzahl übereinstimmen, bevor Sie diese Operation wählen.
Determinante einer quadratischen Matrix in Python mit SymPy berechnen
Installieren Sie SymPy für dieses Beispiel mit python -m pip install sympy in der Python-Umgebung. Verwenden Sie wie bei NumPy den Interpreter und die Umgebung, die den Code ausführen werden. SymPy stellt die Eingabe als Matrix-Objekt dar und berechnet das Ergebnis über die Methode det(). Das Beispiel wiederholt dieselben Einträge wie das NumPy-Programm, sodass sich das Verhalten der Bibliotheken leicht vergleichen lässt. Das Beispiel wird als ausführbarer Code bereitgestellt, es wurde jedoch keine Laufzeitausgabe dafür erfasst.
import sympy as sp
matrix_2x2 = sp.Matrix([[7, 5], [2, 4]])
matrix_3x3 = sp.Matrix([[7, 5, 3], [2, 4, 1], [5, 8, 6]])
print("2x2 determinant:", matrix_2x2.det())
print("3x3 determinant:", matrix_3x3.det())
Bei ganzzahligen Einträgen gibt SymPy für diese Beispiele die exakten ganzzahligen Werte anstelle einer Gleitkommanäherung zurück. Matrix.det() ist die Methode, mit der die Determinante einer SymPy-Matrix erhalten wird; die Schreibweise sympy in Kleinbuchstaben gehört zum Python-Import, während der Bibliotheksname in Texten SymPy lautet. Sie können Matrizen auch aus symbolischen Variablen aufbauen und einen Ausdruck im Ergebnis erhalten, was nützlich ist, wenn eine Formel hergeleitet werden soll, bevor bestimmte Werte eingesetzt werden.
Wählen Sie SymPy, wenn exakte Arithmetik oder symbolische Ausdrücke wichtig sind, und NumPy für numerische Arrays und Gleitkomma-lineare Algebra. Beide Beispiele verwenden kleine Matrizen, deren exakte Ergebnisse 18 und 65 sind, und bieten damit auch eine einfache Möglichkeit zu prüfen, ob Ihre Eingabewerte in der vorgesehenen Zeilenreihenfolge stehen. Diese Bibliotheken bieten unterschiedliche Berechnungsmodelle: SymPy bewahrt nach Möglichkeit exakte Formen, während NumPy für numerische Arbeiten ausgelegt ist. Wählen Sie nach der späteren Verwendung des Ergebnisses und behalten Sie genügend Genauigkeit für alle nachfolgenden Berechnungen.