Non-centered sampling of multivariate normal distribution - precision matrix

Given a precision matrix \Omega such that \Omega = \Sigma^{-1}, how can I draw efficitiently some parameters \beta \sim MVN(0, \Omega^{-1}) using a non-centered parametrization?

From this post we have:

\beta = (U_{\Omega})^{-1} * Z

where U is the upper cholesky factor of the precision matrix and Z are standard normal deviates.
The only option I see from the available Stan function is:

...
transformed parameters {
 beta = cholesky_transform(Omega)' \ Z
}
...

There are some lower triangular division functions (see the manual) but I am not sure if they could be used here or if new set of functions mdivide_*_tri_upper could be implemented.

@andrjohns

1 Like