SLogDet

行列式の符号と対数を計算します。

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

パラメータ

sign

[out] 行列式の符号。符号が偶数の場合、行列式は正です。

戻り値

行列式の符号を表現する数。

注意事項

行列式は、行列を上三角行列形式に縮小することにより、ガウス法によって計算されます。上三角行列の行列式は、主対角要素の積に等しくなります。積の対数は対数の和に等しくなります。したがって、行列式の計算時にオーバーフローが発生した場合は、SLogDetメソッドを使用できます。

符号が偶数の場合、行列式は正です。

 
a = np.array([[1, 2], [3, 4]])  (sign, logdet) = np.linalg.slogdet(a)  (sign, logdet) (-1, 0.69314718055994529) # 符号は異なる場合がある * np.exp(logdet) -2.0