# MultivariateNormal: The Multivariate Normal Distribution In nimble: MCMC, Particle Filtering, and Programmable Hierarchical Modeling

 MultivariateNormal R Documentation

## The Multivariate Normal Distribution

### Description

Density and random generation for the multivariate normal distribution, using the Cholesky factor of either the precision matrix or the covariance matrix.

### Usage

```dmnorm_chol(x, mean, cholesky, prec_param = TRUE, log = FALSE)

rmnorm_chol(n = 1, mean, cholesky, prec_param = TRUE)
```

### Arguments

 `x` vector of values. `mean` vector of values giving the mean of the distribution. `cholesky` upper-triangular Cholesky factor of either the precision matrix (when `prec_param` is TRUE) or covariance matrix (otherwise). `prec_param` logical; if TRUE the Cholesky factor is that of the precision matrix; otherwise, of the covariance matrix. `log` logical; if TRUE, probability density is returned on the log scale. `n` number of observations (only `n=1` is handled currently).

### Details

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.

### Value

`dmnorm_chol` gives the density and `rmnorm_chol` generates random deviates.

### Author(s)

Christopher Paciorek

### References

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

### Examples

```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)
```

nimble documentation built on March 18, 2022, 8:03 p.m.