Mvcnorm {cmvnorm} | R Documentation |
Multivariate complex Gaussian density and random deviates
Description
Density function and a random number generator for the multivariate complex Gaussian distribution.
Usage
rcnorm(n)
dcmvnorm(z, mean, sigma, log = FALSE)
rcmvnorm(n, mean = rep(0, nrow(sigma)), sigma = diag(length(mean)),
method = c("svd", "eigen", "chol"),
tol= 100 * .Machine$double.eps)
Arguments
z |
Complex vector or matrix of quantiles. If a matrix, each row is taken to be a quantile |
n |
Number of observations |
mean |
Mean vector |
sigma |
Covariance matrix, Hermitian positive-definite |
tol |
numerical tolerance term for verifying positive definiteness |
log |
In |
method |
Specifies the decomposition used to determine the
positive-definite matrix square root of |
Details
Function dcmvnorm()
is the density function of the complex
multivariate normal (Gaussian) distribution:
p\left(\mathbf{z}\right)=\frac{\exp\left(-\mathbf{z}^*\Gamma\mathbf{z}\right)}{\left|\pi\Gamma\right|}
Function rcnorm()
is a low-level function designed to generate
observations drawn from a standard complex Gaussian. Function
rcmvnorm()
is a user-friendly wrapper for this.
Author(s)
Robin K. S. Hankin
References
N. R. Goodman 1963. “Statistical analysis based on a certain multivariate complex Gaussian distribution”. The Annals of Mathematical Statistics. 34(1): 152–177
Examples
S <- emulator::cprod(rcmvnorm(3,mean=c(1,1i),sigma=diag(2)))
rcmvnorm(10,sigma=S)
rcmvnorm(10,mean=c(0,1+10i),sigma=S)
# Now try and estimate the mean (viz 1,1i) and variance (S) from a
# random sample:
n <- 101
z <- rcmvnorm(n,mean=c(0,1+10i),sigma=S)
xbar <- colMeans(z)
Sbar <- cprod(sweep(z,2,xbar))/n