# Mvcnorm: Multivariate complex Gaussian density and random deviates In cmvnorm: The Complex Multivariate Gaussian Distribution

## Description

Density function and a random number generator for the multivariate complex Gaussian distribution.

## Usage

 ```1 2 3 4 5``` ```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 `dcmvnorm()`, Boolean with default `TRUE` meaning to return the Gaussian density function, and `FALSE` meaning to return the logarithm `method` Matrix decomposition used to determine the positive-definite matrix square root of `sigma`, possible methods are eigenvalue decomposition (“`eigen`”, default), and singular value decomposition (“`svd`”)

## Details

Function `dcmvnorm()` is the density function of the complex multivariate normal (Gaussian) distribution:

p(z)=exp(-z*Γ z)/|πΓ|

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

 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14``` ```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 ```

cmvnorm documentation built on May 21, 2019, 1:02 a.m.