corr_complex {cmvnorm} | R Documentation |
Complex Gaussian processes
Description
Various utilities for investigating complex Gaussian processes
Usage
corr_complex(z1, z2 = NULL, distance.function = complex_CF, means =
NULL, scales = NULL, pos.def.matrix = NULL)
complex_CF(z1,z2, means, pos.def.matrix)
scales.likelihood.complex(pos.def.matrix, scales, means, zold, z,
give_log = TRUE, func = regressor.basis)
interpolant.quick.complex(x, d, zold, Ainv, scales = NULL, pos.def.matrix = NULL,
means=NULL, func = regressor.basis, give.Z = FALSE,
distance.function = corr_complex, ...)
Arguments
z , z1 , z2 |
Points in |
distance.function |
Function giving the (complex) covariance
between two points in |
means , pos.def.matrix , scales |
In function |
zold , d , give_log , func , x , Ainv , give.Z , ... |
Direct analogues of the
arguments in |
Details
Function
complex_CF()
returns a (slightly reparameterized) characteristic function of a complex Gaussian distribution. The covariance is given bywhere
is interpreted as the distance between two observations,
is the mean of the distribution (which is in general a complex vector), and
a positive-definite matrix.
Function
corr_complex()
is the complex analogue ofcorr.matrix()
. It returns a matrix with entryequal to the covariance of the process at observation
and observation
, or
. The elements are calculated by
complex_CF()
.This function includes only a single method, that of nested calls to
apply()
. I could not figure out how to generalize method 1 ofcorr.matrix()
to the complex case.Function
scales.likelihood.complex()
is a complex version ofscales.likelihood()
which takes a positive definite matrix and a mean. The formula used is. Here and elsewhere,
means the complex conjugate of the transpose.
Function
interpolant.quick.complex()
is a complex version ofinterpolant.quick()
.This is the complex version of Oakley's equation 2.30 or Hankin's equation 5.
More details are given in the package vignette.
Author(s)
Robin K. S. Hankin
References
Hankin, R. K. S. 2005. “Introducing BACCO, an R bundle for Bayesian Analysis of Computer Code Output”, Journal of Statistical Software, 14(15)
J. Oakley 1999. Bayesian uncertainty analysis for complex computer codes, PhD thesis, University of Sheffield.
Examples
complex_CF(c(1,1i),c(1,-1i),means=c(1i,1i),pos.def.matrix=diag(2))
V <- latin.hypercube(7,2,complex=TRUE)
cm <- c(1,1+1i) # "complex mean"
cs <- matrix(c(2,1i,-1i,1),2,2) # "complex scales"
tb <- c(1,1i,1-1i) # "true beta"
A <- corr_complex(V,means=cm,pos.def.matrix=cs)
Ainv <- solve(A)
z <- drop(rcmvnorm(n=1,mean=regressor.multi(V) %*% tb, sigma=A))
betahat.fun(V,Ainv,z) # should be close to 'tb'
#scales.likelihood.complex(cs,cm,V,z) # log-likelihood evaluated true parameters
interpolant.quick.complex(x=0.1i+V[1:3,],d=z,zold=V,Ainv=Ainv,pos.def.matrix=cs,means=cm)