web-dev-qa-db-fra.com

Puis-je obtenir le déterminant matriciel à l'aide de Numpy?

J'ai lu dans le manuel de Numpy qu'il existe une fonction det(M) qui permet de calculer le déterminant. Cependant, je ne trouve pas la méthode det() dans Numpy.

Par ailleurs, j'utilise Python 2.5. Il ne devrait y avoir aucun problème de compatibilité avec Numpy.

38
george

Vous pouvez utiliser numpy.linalg.det pour calculer le déterminant d'un tableau:

In [1]: import numpy

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

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

Pour les grands tableaux un débordement/débordement peut se produire lors de l'utilisation de numpy.linalg.det, ou vous pouvez obtenir inf ou -inf comme réponse.

Dans la plupart de ces cas, vous pouvez utiliser numpy.linalg.slogdet ( voir documentation ), qui renvoie:

(sign, logdet)

sign est le signe et logdet le logarithme du déterminant, de sorte que vous pouvez calculer le déterminant det en faisant:

det = np.exp(logdet)
24