# rndMVn¶

## Purpose¶

Computes multivariate normal random numbers given a covariance matrix.

## Format¶

r = rndMVn(num, mu, cov)
{ r, newstate } = rndMVn(num, mu, cov, state)
Parameters
• num (Scalar) – number of random vectors to create.

• mu (Nx1 matrix) – mean vector.

• cov (NxN matrix) – covariance matrix

• 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 (numxN matrix) – multivariate normal random numbers.

• newstate (Opaque vector) – the updated state.

## Examples¶

// covariance matrix
cov = { 1 0.3,
0.3   1 };

// mean for each column of 'cov'
mu = { 0, 0 };

x = rndMVn(100, mu, cov);


## Remarks¶

The properties of the pseudo-random numbers in x are:

\begin{align}\begin{aligned}\begin{split}E(x) = mu\\\end{split}\\Var(x) = cov\end{aligned}\end{align}