pyriemann.utils.mean.mean_ale

pyriemann.utils.mean.mean_ale(X, *, tol=1e-06, maxiter=50, sample_weight=None, init=None)

AJD-based log-Euclidean (ALE) mean of SPD matrices.

Return the mean of a set of SPD matrices using the approximate joint diagonalization (AJD) based log-Euclidean (ALE) mean [1].

Parameters:
Xndarray, shape (n_matrices, n, n)

Set of SPD/HPD matrices.

tolfloat, default=10e-7

Tolerance to stop the gradient descent.

maxiterint, default=50

Maximum number of iterations.

sample_weightNone | ndarray, shape (n_matrices,), default=None

Weights for each matrix. If None, it uses equal weights.

initNone | ndarray, shape (n, n), default=None

A SPD/HPD matrix used to initialize the gradient descent. If None, the joint diagonalizer of input matrices is used.

Returns:
Mndarray, shape (n, n)

ALE mean.

See also

mean_covariance

Notes

Added in version 0.2.4.

References

[1]

Approximate Joint Diagonalization and Geometric Mean of Symmetric Positive Definite Matrices M. Congedo, B. Afsari, A. Barachant, M. Moakher. PLOS ONE, 2015