Can I get the matrix determinant using Numpy?

后端 未结 2 1322
花落未央
花落未央 2020-12-05 09:37

I read in the manual of Numpy that there is function det(M) that can calculate the determinant. However, I can\'t find the det() method in Numpy.

相关标签:
2条回答
  • 2020-12-05 09:59

    For large arrays underflow/overflow may occur when using numpy.linalg.det, or you may get inf or -inf as an answer.

    In many of these cases you can use numpy.linalg.slogdet (see documentation):

    sign, logdet = np.linalg.slogdet(M)
    

    where sign is the sign and logdet the logarithm of the determinant. You can calculate the determinant simply by:

    det = np.exp(logdet)
    

    For sparse matrices (2-D arrays), I highly recommend another approach based on LU decomposition.

    0 讨论(0)
  • 2020-12-05 10:08

    You can use numpy.linalg.det to compute the determinant of an array:

    In [1]: import numpy
    
    In [2]: M = [[1, 2], [3, 4]]
    
    In [3]: print numpy.linalg.det(M)
    Out[3]: -2.0000000000000004
    
    0 讨论(0)
提交回复
热议问题