rndWishart#
Purpose#
Computes Wishart distributed random numbers given a covariance matrix.
Format#
- r = rndWishart(numMats, cov, df)#
- { r, newstate } = rndWishart(numMats, cov, df, state)
- Parameters:
numMats (scalar) – number of Wishart random matrices to create.
cov (matrix) – NxM covariance matrix
df (scalar) – degrees of freedom.
state (scalar or opaque vector) –
Optional argument.
scalar case
state = starting seed value only. If -1, GAUSS computes the starting seed based on the system clock.
opaque vector case
state = the state vector returned from a previous call to one of the
rnd
random number functions.
- Returns:
r (numMats * rows(cov) x N matrix) – Wishart random matrices.
newstate (Opaque vector) – the updated state.
Examples#
// covariance matrix
cov = { 1 0.5,
0.5 1 };
// degrees of freedom
df = 7;
X = rndWishart(1, cov, df);
X = 7.6019339 4.7744799
4.7744799 7.7341260
Remarks#
The properties of the pseudo-random numbers in X are:
\[ \begin{align}\begin{aligned}\begin{split}E(X) = df * cov\\\end{split}\\Var(X_{ij}) = df * (cov_{ij}^2 + cov_{ii}*cov_{jj})\end{aligned}\end{align} \]
See also
Functions rndWishartInv()
, rndMVn()
, rndCreateState()