pyriemann.utils.mean.mean_thompson

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

Mean of SPD/HPD matrices according to the Thompson metric.

The Thompson mean of SPD/HPD matrices is described in [1].

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

Set of SPD/HPD matrices.

tolfloat, default=1e-6

Tolerance to stop the gradient descent.

maxiterint, default=50

Maximum number of iterations.

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

A SPD/HPD matrix used to initialize the gradient descent. If None, the weighted Euclidean mean is used.

sample_weightNone

Not used.

Returns:
Mndarray, shape (n, n)

Thompson mean.

See also

mean_covariance

Notes

Added in version 0.10.

References

[1]

Differential geometry with extreme eigenvalues in the positive semidefinite cone C. Mostajeran, N. Da Costa, G. Van Goffrier and R. Sepulchre. SIAM Journal on Matrix Analysis and Applications, 2024