Learn R Programming

pdSpecEst (version 1.2.4)

pdMedian: Weighted intrinsic median of HPD matrices

Description

pdMedian calculates a weighted intrinsic median of a sample of \((d,d)\)-dimensional HPD matrices based on a Weiszfeld algorithm intrinsic to the chosen metric.In the case of the affine-invariant Riemannian metric as detailed in e.g., B09pdSpecEst[Chapter 6] or PFA05pdSpecEst, the intrinsic Weiszfeld algorithm in F09pdSpecEst is used. By default, the unweighted intrinsic median is computed.

Usage

pdMedian(M, w, metric = "Riemannian", maxit = 1000, reltol)

Arguments

M

a \((d,d,S)\)-dimensional array corresponding to a sample of \((d,d)\)-dimensional HPD matrices of size \(S\).

w

an \(S\)-dimensional nonnegative weight vector, such that sum(w) = 1.

metric

the distance measure, one of 'Riemannian', 'logEuclidean', 'Cholesky', 'Euclidean' or 'rootEuclidean'. Defaults to 'Riemannian'.

maxit

maximum number of iterations in gradient descent algorithm. Defaults to 1000

reltol

optional tolerance parameter in gradient descent algorithm. Defaults to 1E-10.

References

See Also

pdMean

Examples

Run this code
# NOT RUN {
## Generate random sample of HPD matrices
m <- function(){
 X <- matrix(complex(real=rnorm(9), imaginary=rnorm(9)), nrow=3)
 t(Conj(X)) %*% X
}
M <- replicate(100, m())
## Generate random weight vector
z <- rnorm(100)
w <- abs(z)/sum(abs(z))
## Compute weighted intrinsic (Riemannian) median
pdMedian(M, w)

# }

Run the code above in your browser using DataLab