我在Numpy的手册中读到有det(M)
可以计算行列式的函数.但是,我det()
在Numpy 找不到方法.
顺便说一句,我使用Python 2.5.Numpy应该没有兼容性问题.
您可以numpy.linalg.det
用来计算数组的行列式:
In [1]: import numpy In [2]: M = [[1, 2], [3, 4]] In [3]: print numpy.linalg.det(M) Out[3]: -2.0000000000000004
对于大型阵列,使用时可能会出现下溢/溢出numpy.linalg.det
,或者您可能会得到inf
或-inf
作为答案.
在许多这种情况下,您可以使用numpy.linalg.slogdet
(参见文档),它返回:
(sign, logdet)
sign
符号和logdet
行列式的对数在哪里,这样你就可以计算行列式det
:
det = np.exp(logdet)