Подтвердить что ты не робот

Могу ли я получить матричный определитель с помощью Numpy?

Я прочитал в руководстве Numpy, что существует функция det(M), которая может вычислять определитель. Тем не менее, я не могу найти метод det() в Numpy.

Кстати, я использую Python 2.5. Не должно быть проблем с совместимостью с Numpy.

4b9b3361

Ответ 1

Вы можете использовать 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

Ответ 2

Для больших массивов может возникнуть недополнение/переполнение при использовании numpy.linalg.det или вы можете получить inf или -inf в качестве ответа.

Во многих из этих случаев вы можете использовать numpy.linalg.slogdet (см. документацию), которая возвращает:

(sign, logdet)

где sign - знак и logdet логарифм определителя, так что вы можете вычислить детерминант det:

det = np.exp(logdet)