IMSL C# Numerical Library

Random.NextMultivariateNormal Method 

Generate pseudorandom numbers from a multivariate normal distribution.

public virtual double[] NextMultivariateNormal(
   int k,
   Cholesky matrix
);

Parameters

k
A int which specifies the length of the multivariate normal vectors.
matrix
The Cholesky factorization of the variance-covariance matrix of order k.

Return Value

A double array which contains the pseudorandom numbers from a multivariate normal distribution.

Remarks

NextMultivariateNormal generates pseudorandom numbers from a multivariate normal distribution with mean vector consisting of all zeroes and variance-covariance matrix whose Cholesky factor (or "square root") is matrix; that is, matrix is an upper triangular matrix such that the transpose of matrix times matrix is the variance-covariance matrix. First, independent random normal deviates with mean 0 and variance 1 are generated, and then the matrix containing these deviates is post-multiplied by matrix.

Deviates from a multivariate normal distribution with means other than zero can be generated by using NextMultivariateNormal and then by adding the means to the deviates.

See Also

Random Class | Imsl.Stat Namespace | Example