Robust invS in outgoing Λ-rule of MvNormalMeanPrecision-node #540
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I stumbled upon this small edge case during inference. check if you think it is helpful, inference also worked without it, but i thought it might add more stability.
Description
when the incoming messages ($q_{\text{out}}$ and $q_{\mu}$ ) are identical point masses, the invS became a singularity, zero matrix, leading to an undefined Wishart distribution.$\epsilon \mathbf{I}$ ) to the calculation of the inverse scale matrix ($\mathbf{invS}$ ) in the $\mathbf{\Lambda}$ VMP update.
To prevent this, this PR introduces a small regularization term (
Changes
The$10^{-6}$ times the identity matrix ($\mathbf{I}$ ) for robustness.
invScalculation now addsThis regularization guarantees$\mathbf{invS}$ is positive definite, ensuring the resulting Wishart distribution for the precision matrix is always proper.