SLogDet

Calculer le signe et le logarithme d'un déterminant de matrice.

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

Paramètres

sign

[out] Le signe du déterminant. Si le signe est pair, le déterminant est positif.

Valeur de Retour

Un nombre représentant le signe du déterminant.

Note

Le déterminant est calculé par la méthode Gaussienne en réduisant la matrice à une forme triangulaire supérieure. Le déterminant d'une matrice triangulaire supérieure est égal au produit des principaux éléments diagonaux. Le logarithme d'un produit est égal à la somme des logarithmes. Ainsi, en cas de débordement lors du calcul du déterminant, vous pouvez utiliser la méthode SLogDet.

Si le signe est pair, le déterminant est positif.

Exemple

 
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