SLogDet

Berechnet das Vorzeichen und den Logarithmus der Determinante einer Matrix.

double matrix::SLogDet(
  int&  sign      // Vorzeichen
   );

Parameter

sign

out] Das Vorzeichen der Determinante. Wenn das Vorzeichen gerade ist, ist die Determinante positiv.

Rückgabewert

Eine Zahl, die das Vorzeichen der Determinante angibt.

Hinweis

Die Determinante wird nach der Gaußschen Methode durch Reduktion der Matrix in eine obere Dreiecksform berechnet. Die Determinante einer oberen Dreiecksmatrix ist gleich dem Produkt der Hauptdiagonalelemente. Der Logarithmus eines Produkts ist gleich der Summe der Logarithmen. Daher kann man im Falle eines Überlaufs bei der Berechnung der Determinante die Methode SLogDet verwenden.

Wenn das Vorzeichen gerade ist, ist die Determinante positiv.

Beispiel

 
a = np.array([[1, 2], [3, 4]])  (sign, logdet) = np.linalg.slogdet(a)  (sign, logdet) (-1, 0.69314718055994529) # may vary  sign * np.exp(logdet) -2.0