SLogDet

Calcola il segno e il logaritmo di un determinante della matrice.

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

Parametri

segno

[out] Il segno del determinante. Se il segno è pari, il determinante è positivo.

Valore Restituito

Un numero che rappresenta il segno del determinante.

Note

Il determinante è calcolato con il metodo Gaussiano riducendo la matrice a una forma triangolare superiore. Il determinante di una matrice triangolare superiore è uguale al prodotto degli elementi delle diagonali principali. Il logaritmo di un prodotto è uguale alla somma dei logaritmi. Pertanto, in caso di overflow durante il calcolo del determinante, è possibile utilizzare il metodo SLogDet.

Se il segno è pari, il determinante è positivo.

Esempio

 
a = np.array([[12], [34]])  (signlogdet) = np.linalg.slogdet(a)  (signlogdet) (-10.69314718055994529# puт variare  sign * np.exp(logdet) -2.0