3

Eigen には、行列式と逆行列の明示的な計算に対して警告する推奨事項があります。

正規逆ウィシャート事前分布を使用して、多変量正規の事後予測を実装しています。これは、多変量 t 分布として表すことができます。

多変量 t 分布では、項と が見つかり|Sigma|^{-1/2}ます(x-mu)^T Sigma^{-1} (x-mu)

私はアイゲンに関してはまったく無知です。正の半正定行列 (共分散行列) の場合、LLT ソルバーを使用できると想像できます。

ただし、ソルバー自体で定義されたメソッドは.determinant()ありません。.inverse()関数を使用.matrixL()し、対角要素を自分で反転して、行列式を取得するために積を計算する必要がありますか? 私は何かが欠けていると思います。

4

1 に答える 1

2

Sigma=LL^Tと wantのコレスキー分解がある場合、以下(x-mu)^T*Sigma^{-1}*(x-mu)を計算できます(とがベクトルであると(llt.matrixL().solve(x-mu)).squaredNorm()仮定)。xmu

行列式の平方根については、計算するだけですllt.matrixL().determinant()(三角行列の行列式の計算は、その対角要素の積にすぎません)。

于 2016-09-27T22:20:06.430 に答える