SLogDet

Calcula o sinal e o logaritmo do determinante de uma matriz.

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

Parâmetros

sign

[out]  O sinal do determinante. Se o valor sign for par, o determinante será positivo.

Valor retornado

Número que representa o sinal do determinante.

Observação

O determinante é calculado pelo método de eliminação de Gauss-Jordan, reduzindo a matriz a uma forma triangular superior. O determinante de uma matriz triangular superior é igual ao produto dos termos da diagonal principal. O logaritmo de um produto é igual à soma dos logaritmos. Por isso, no caso de um estouro ao calcular o determinante, o método SLogDet pode ser usado.

Se o valor sign for par, o determinante será positivo.

Exemplo:

 
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