簡単な(おそらく素朴な)質問です。次のコードを検討してください。ここSig
で、 は対称 PSD 行列です。
VectorXf c=Sig.ldlt().vectorD();
int p=Sig.cols();
MatrixXf b=MatrixXf::Identity(p,p);
Sig.ldlt().solveInPlace(b);
ここで のコレスキー分解は何回Sig
行われますか? 上記の答えが複数ある場合は、ベクトル D と の逆数の両方が必要ですSig
。固有値で両方を取得する最速の方法 (冗長な計算なしなど) は何ですか?