2009-01-20 62 views

Trả lời

57

Bạn có thể sử dụng numpy.linalg.det để tính toán các yếu tố quyết định của một mảng:

In [1]: import numpy 

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

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

Đối mảng lớn underflow/tràn có thể xảy ra khi sử dụng numpy.linalg.det, hoặc bạn có thể nhận inf hoặc -inf như một câu trả lời.

Trong rất nhiều các trường hợp, bạn có thể sử dụng numpy.linalg.slogdet (see documentation), trả về:

(sign, logdet) 

nơi sign là dấu chỉ và logdet logarit của yếu tố quyết định, như vậy bạn có thể tính toán yếu tố quyết định det thực hiện:

det = np.exp(logdet) 
Các vấn đề liên quan