快速计算行列式对数#

sklearn.utils.extmath.fast_logdet(A)[source]#

计算方阵的行列式对数。

如果 det(A) 非负且定义良好,则返回方阵行列式的(自然)对数。如果行列式为零或负数,则返回 -Inf。

等效于:np.log(np.det(A)),但更健壮。

参数:
Ashape 为 (n, n) 的 array_like

方阵。

返回:
logdet浮点数

当 det(A) 严格为正时,返回 log(det(A))。当 det(A) 为非正或未定义时,返回 -inf。

参见

numpy.linalg.slogdet

计算数组的符号和(自然)行列式对数。

示例

>>> import numpy as np
>>> from sklearn.utils.extmath import fast_logdet
>>> a = np.array([[5, 1], [2, 8]])
>>> fast_logdet(a)
np.float64(3.6375861597263857)