Description Usage Arguments Details Value See Also Examples

Generates a random samples from a Wishart distribution defined as *W(Ψ, ν)*, or an Inverse-Wishart distribution defined as *W^{-1}(Ψ, ν)*.

1 |

`n` |
Number of samples to draw. |

`Psi` |
Scale matrix. |

`nu` |
Degrees of freedom. |

`inv` |
Logical. Setting |

Setting `inv = TRUE`

replaces *Ψ* by *Psi^{-1}* and inverts the output random matrices, such that they are being generated from an Inverse-Wishart *W^{-1}(Ψ, ν)* distribution.

Returns an array of Wishart (or Inverse-Wishart) draws of size `c(nrow(Psi),ncol(Psi),n)`

.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | ```
d <- 4 # number of dimensions
nu <- 7 # degrees of freedom
Psi <- crossprod(matrix(rnorm(d^2), d, d)) # scale matrix
n <- 1e4
Sigma <- rwish(n, Psi, nu)
# for any vector a, X = (a' Sigma a) has a const * chi^2 distribution
a <- rnorm(d)
X <- apply(Sigma, 3, function(S) crossprod(a, S %*% a))
const <- a %*% Psi %*% a
hist(X, breaks = 100, freq = FALSE,
main = parse(text = "\"Histogram of \"*X==a*minute*Sigma*a"),
xlab = parse(text = "X==a*minute*Sigma*a"))
curve(dchisq(x/const, df = nu)/const,
from = min(X), to = max(X), col = "red", add = TRUE)
``` |

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.