Compute the mean of a set of spd matrices
spd.mean.Rd
Function computes the mean of a set of symmetric positive-definite matrices.
Several methods are implemented, as described in Details
.
Arguments
- x
A list of symmetric, positive-definite matrices
- method
The type of mean to compute. See details
- ...
Further arguments. See details
Details
Function computes the mean of a set of symmetrix, positive-definite matrices. Several methods are implemented:
"euclidean": The ordinary arithmetic mean -- the sum of the matrices in x, divided by the number of matrices. This is guaranteed to be an spd matrix, but does not necessarily preserve the spectral characteristics of the individual matrices.
"logeuclidean": Computed by taking the arithmetic mean of the logarithms of the matrices in
x
, and then projecting back onto the space of spd matrices. In general, better behaved than the arithmetic mean."riemannian": The Riemmanian p-mean. Smoothly interpolates between the harmonic mean at
p = -1
to the geometric mean atp = 0
to the arithmetic mean atp = 1
. Is approximated iteratively using the fixed point algorithm described by Congedo, Barachant and Koopaei (2017). Requies a parameterp
in the interval[-1,1]
specifying the type of mean, a maximum error tolerancetol
(default .01), and a maximum number of iterations (default 50). The casep = 0
is approximated by computing the p-means at -.1 and .1, and then returning the midpoint between them usingspd.interpolate(..., method = 'riemannian')