SLogDet

计算矩阵行列式的符号和对数。

double matrix::SLogDet(
  int&  sign      // 符号
   );

参数

sign

[输出] 行列式的符号。 如果符号为偶数,则行列式为正数。

返回值

表示行列式符号的数字。

注意

行列式是利用高斯(Gaussian)方法将矩阵简化为上三角形计算出的。 上三角矩阵的行列式等于主对角线元素的乘积。 乘积的对数等于对数之和。 因此,如果在计算行列式时出现溢出,则可以使用 SLogDet 方法。

如果符号为偶数,则行列式为正数。

举例

 
a = np.array([[12], [34]])  
(signlogdet) = np.linalg.slogdet(a)  
(signlogdet) (-10.69314718055994529# may vary  sign * np.exp(logdet) -2.0