rndMVt

Purpose

Computes multivariate Student-t distributed random numbers given a covariance matrix.

Format

r = rndMVt(num, cov, df)
{ r, newstate } = rndMVt(num, cov, df, state)
Parameters:
  • num (scalar) – number of random vectors to create.
  • cov (NxN matrix) – 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 (num x N matrix) – multivariate student-t distributed random numbers.
  • newstate (Opaque vector) – the updated state.

Examples

// Degrees of freedom
df = 8;

// Covariance matrix
sigma = {   1 0.3,
          0.3   1 };

x = rndMVt(100, sigma, df);

Remarks

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

\[ \begin{align}\begin{aligned}\begin{split}E(x) = 0\\\end{split}\\Var(x) = \bigg(\frac{df}{df - 2}\bigg) * \sigma\end{aligned}\end{align} \]

See also

Functions rndMVn(), rndCreateState()