Могу ли я получить матричный определитель с помощью Numpy?
Я прочитал в руководстве Numpy, что существует функция det(M), которая может вычислять определитель. Тем не менее, я не могу найти метод det() в Numpy.
Кстати, я использую Python 2.5. Не должно быть проблем с совместимостью с Numpy.
Ответ 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: