SLogDet

Calcula el signo y el logaritmo del determinante de la matriz.

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

Parámetros

sign

[out]  Signo del determinante. Si el valor sign es par, el determinante será positivo.

Valor retornado

Número que representa el signo del determinante.

Observación

El determinante se calcula usando el método de Gauss, convirtiendo la matriz a una forma no triangular superior. El determinante de una matriz no triangular superior es igual al producto de los miembros de la diagonal principal. El logaritmo del producto será igual a la suma de los logaritmos. Por lo tanto, en caso de desbordamiento al calcular el determinante, se podrá utilizar el método SLogDet.

Si el valor sign es par, el determinante será positivo.

Ejemplo:

 
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