SLogDet
SLogDet
计算矩阵行列式的符号和对数。
double matrix::SLogDet(
int& sign // 符号
);参数
- sign
[输出] 行列式的符号。 如果符号为偶数,则行列式为正数。
返回值
表示行列式符号的数字。
注意
行列式是利用高斯(Gaussian)方法将矩阵简化为上三角形计算出的。 上三角矩阵的行列式等于主对角线元素的乘积。 乘积的对数等于对数之和。 因此,如果在计算行列式时出现溢出,则可以使用 SLogDet 方法。
如果符号为偶数,则行列式为正数。
举例
a = np.array([[1, 2], [3, 4]])
(sign, logdet) = np.linalg.slogdet(a)
(sign, logdet) (-1, 0.69314718055994529) # may vary sign * np.exp(logdet) -2.0