pdDist {pdSpecEst}R Documentation

Compute distance between two HPD matrices

Description

pdDist calculates a distance between two Hermitian PD matrices.

Usage

pdDist(A, B, metric = "Riemannian")

Arguments

A, B

Hermitian positive definite matrices (of equal dimension).

metric

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

Details

Available distance measures between two HPD matrices are: (i) the affine-invariant Riemannian distance (default) as in e.g., (Bhatia 2009)[Chapter 6] or (Pennec et al. 2006); (ii) the Log-Euclidean distance, the Euclidean distance between matrix logarithms; (iii) the Cholesky distance, the Euclidean distance between Cholesky decompositions; (iv) the Euclidean distance; (v) the root-Euclidean distance; and (vi) the Procrustes distance as in (Dryden et al. 2009). In particular, pdDist generalizes the function shapes::distcov, to compute the distance between two symmetric positive definite matrices, in order to compute the distance between two Hermitian positive definite matrices.

References

Bhatia R (2009). Positive Definite Matrices. Princeton University Press, New Jersey.

Dryden I, Koloydenko A, Zhou D (2009). “Non-Euclidean statistics for covariance matrices, with applications to diffusion tensor imaging.” The Annals of Applied Statistics, 3(3), 1102–1123.

Pennec X, Fillard P, Ayache N (2006). “A Riemannian framework for tensor computing.” International Journal of Computer Vision, 66(1), 41–66.

Examples

 a <- matrix(complex(real = rnorm(9), imaginary = rnorm(9)), nrow = 3)
 A <- t(Conj(a)) %*% a
 b <- matrix(complex(real = rnorm(9), imaginary = rnorm(9)), nrow = 3)
 B <- t(Conj(b)) %*% b
 pdDist(A, B) ## Riemannian distance


[Package pdSpecEst version 1.2.4 Index]