pyriemann.utils.mean.mean_wasserstein¶
- pyriemann.utils.mean.mean_wasserstein(X, tol=1e-08, maxiter=50, init=None, sample_weight=None)¶
Mean of SPD/HPD matrices according to the Wasserstein metric.
Wasserstein mean [1] is implemented as the inductive mean [2], adapted to the same convergence criterion as the Riemannian mean.
- Parameters:
- Xndarray, shape (n_matrices, n, n)
Set of SPD/HPD matrices.
- tolfloat, default=10e-9
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 Euclidean mean is used.
- sample_weightNone | ndarray, shape (n_matrices,), default=None
Weights for each matrix. If None, it uses equal weights.
- Returns:
- Mndarray, shape (n, n)
Wasserstein mean.
See also
References
[1]Barycenters in the Wasserstein space M. Agueh and G. Carlier. SIAM Journal on Mathematical Analysis, 2011
[2]Barycenter Estimation of Positive Semi-Definite Matrices with Bures-Wasserstein Distance J. Zheng, H. Huang, Y. Yi, Y. Li, S.-C. Lin, ArXiv, 2023