Ответ 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
Я прочитал в руководстве Numpy, что существует функция det(M)
, которая может вычислять определитель. Тем не менее, я не могу найти метод det()
в Numpy.
Кстати, я использую Python 2.5. Не должно быть проблем с совместимостью с Numpy.
Вы можете использовать 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
Для больших массивов может возникнуть недополнение/переполнение при использовании numpy.linalg.det
или вы можете получить inf
или -inf
в качестве ответа.
Во многих из этих случаев вы можете использовать numpy.linalg.slogdet
(см. документацию), которая возвращает:
(sign, logdet)
где sign
- знак и logdet
логарифм определителя, так что вы можете вычислить детерминант det
:
det = np.exp(logdet)