| MultivariateNormal | R Documentation |
Density and random generation for the multivariate normal distribution, using the Cholesky factor of either the precision matrix or the covariance matrix (when not using AD) or the precision or covariance matrix (when using AD).
dmnorm_chol(x, mean, cholesky, prec_param = TRUE, log = FALSE)
rmnorm_chol(n = 1, mean, cholesky, prec_param = TRUE)
dmnorm_inv_ld(x, mean, mat, inv_ld, prec_param = TRUE, log = FALSE)
rmnorm_inv_ld(n = 1, mean, mat, inv_ld, prec_param = TRUE)
x |
vector of values. |
mean |
vector of values giving the mean of the distribution. |
cholesky |
in standard cases (when not using AD), upper-triangular Cholesky factor of either the precision matrix (when |
prec_param |
logical; in standard cases (when not using AD): if TRUE then |
log |
logical; if TRUE, probability density is returned on the log scale. |
n |
number of observations (only |
mat |
when using AD, either the precision matrix (when |
inv_ld |
when using AD, the inverse of |
See Gelman et al., Appendix A or the BUGS manual for mathematical details. The rate matrix as used here is defined as the inverse of the scale matrix, S^{-1}, given in Gelman et al. Note that if one wishes to take derivatives (using AD) involving the distribution, one should use the "inv_ld" versions, as use of the Cholesky is computationally inefficient.
dmnorm_chol gives the density and rmnorm_chol generates random deviates.
Christopher Paciorek, Perry de Valpine
Gelman, A., Carlin, J.B., Stern, H.S., and Rubin, D.B. (2004) Bayesian Data Analysis, 2nd ed. Chapman and Hall/CRC.
Distributions for other standard distributions
mean <- c(-10, 0, 10)
covmat <- matrix(c(1, .9, .3, .9, 1, -0.1, .3, -0.1, 1), 3)
ch <- chol(covmat)
x <- rmnorm_chol(1, mean, ch, prec_param = FALSE)
dmnorm_chol(x, mean, ch, prec_param = FALSE)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.