2009-01-20 13 views

Respuesta

57

Puede utilizar numpy.linalg.det para calcular el determinante de una matriz:

In [1]: import numpy 

In [2]: M = [[1, 2], [3, 4]] 

In [3]: print numpy.linalg.det(M) 
Out[3]: -2.0000000000000004 
19

Para grandes conjuntos desbordamiento/desbordamiento puede ocurrir cuando se utiliza numpy.linalg.det, o puede obtener inf-inf o como respuesta.

En muchos de estos casos se puede utilizar numpy.linalg.slogdet (see documentation), que devuelve:

(sign, logdet) 

donde sign es el signo y logdet el logaritmo del determinante, de tal manera que se puede calcular el determinante det haciendo:

det = np.exp(logdet) 
Cuestiones relacionadas