det#
- scipy.linalg.det(a, overwrite_a=False, check_finite=True)[Quelle]#
Berechnet die Determinante einer Matrix
Die Determinante ist ein Skalar, der eine Funktion der zugehörigen quadratischen Matrixkoeffizienten ist. Der Wert der Determinante ist Null für singuläre Matrizen.
- Parameter:
- a(…, M, M) array_like
Eingabearray zur Berechnung von Determinanten.
- overwrite_abool, optional
Erlaubt das Überschreiben von Daten in a (kann die Leistung verbessern).
- check_finitebool, optional
Ob überprüft werden soll, ob die Eingabematrix nur endliche Zahlen enthält. Das Deaktivieren kann zu einer Leistungssteigerung führen, kann aber zu Problemen (Abstürze, Nichtterminierung) führen, wenn die Eingaben Unendlichkeiten oder NaNs enthalten.
- Rückgabe:
- det(…) float oder complex
Determinante von a. Für gestapelte Arrays wird ein Skalar für jeden (m, m)-Slice in den letzten beiden Dimensionen der Eingabe zurückgegeben. Zum Beispiel erzeugt eine Eingabe der Form (p, q, m, m) ein Ergebnis der Form (p, q). Wenn alle Dimensionen 1 sind, wird unabhängig von ndim ein Skalar zurückgegeben.
Hinweise
Die Determinante wird durch eine LU-Zerlegung der Eingabe mit der LAPACK-Routine „getrf“ berechnet und dann das Produkt der Diagonaleinträge des U-Faktors ermittelt.
Auch wenn das Eingabearray eine einfache Genauigkeit hat (float32 oder complex64), wird das Ergebnis in doppelter Genauigkeit (float64 oder complex128) zurückgegeben, um Überläufe zu verhindern.
Beispiele
>>> import numpy as np >>> from scipy import linalg >>> a = np.array([[1,2,3], [4,5,6], [7,8,9]]) # A singular matrix >>> linalg.det(a) 0.0 >>> b = np.array([[0,2,3], [4,5,6], [7,8,9]]) >>> linalg.det(b) 3.0 >>> # An array with the shape (3, 2, 2, 2) >>> c = np.array([[[[1., 2.], [3., 4.]], ... [[5., 6.], [7., 8.]]], ... [[[9., 10.], [11., 12.]], ... [[13., 14.], [15., 16.]]], ... [[[17., 18.], [19., 20.]], ... [[21., 22.], [23., 24.]]]]) >>> linalg.det(c) # The resulting shape is (3, 2) array([[-2., -2.], [-2., -2.], [-2., -2.]]) >>> linalg.det(c[0, 0]) # Confirm the (0, 0) slice, [[1, 2], [3, 4]] -2.0