Eigen에는 행렬식과 역행렬의 명시적인 계산에 대해 경고하는 recommendations이 있습니다.Eigen에서 inverse와 determinant를 효율적으로 사용하는 방법?
나는 보통 - 역 - wishart 사전 배포와 함께 다변량 법선에 대한 사후 예측을 구현하고 있습니다. 이것은 다 변수 t- 분포로 표현 될 수 있습니다.
다 변수 t- 분포에서 |Sigma|^{-1/2}
과 (x-mu)^T Sigma^{-1} (x-mu)
이라는 용어를 찾을 수 있습니다.
저는 아이겐 (Eigen)과 관련하여 무지합니다. 긍정적 인 semidefinite 행렬 (공분산 행렬)에 대해 LLT 해석을 사용할 수 있다고 상상할 수 있습니다.
그러나 솔버 자체에 정의 된 .determinant()
및 .inverse()
메서드는 없습니다. .matrixL()
함수를 사용하고 역행렬에 대각선 요소를 역변환 할 필요가 있으며 또한 행렬식을 얻기 위해 곱을 계산해야합니까? 나는 뭔가를 놓친 것 같아.
콜레셋 분해를 사용하여 공분산 행렬의 역수를 계산할 수 있습니다. 이것은 잘 문서화되어 있습니다. – Bathsheba
우리는 방정식의 더 많은 것을 볼 필요가 있습니다. 나의 직감은 Jacobian/고유 값 분해 공간에서 작업하면, 거기에서 전체 계산을 할 수 있다는 것입니다. 조밀 한 행렬 역/결정 요인은 사라질 것입니다. – IdeaHat
@ Bathsheba Eigen에서 LLT 솔버는 콜레 스키 분해에 사용됩니다. –