我在Numpy的手册中读到有det(M)可以计算行列式的函数.但是,我det()在Numpy 找不到方法.
顺便说一句,我使用Python 2.5.Numpy应该没有兼容性问题.
xyz*_*xyz 66
您可以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
Run Code Online (Sandbox Code Playgroud)
Sau*_*tro 25
对于大型阵列,使用时可能会出现下溢/溢出numpy.linalg.det,或者您可能会得到inf或-inf作为答案.
在许多这种情况下,您可以使用numpy.linalg.slogdet(参见文档),它返回:
(sign, logdet)
Run Code Online (Sandbox Code Playgroud)
sign符号和logdet行列式的对数在哪里,这样你就可以计算行列式det:
det = np.exp(logdet)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
63811 次 |
| 最近记录: |