You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[74] Tanguy, Eloi and Delon, Julie and Gozlan, Nathaël (2024). Computing
18
+
Barycentres of Measures for Generic Transport Costs.
19
+
arXiv preprint 2501.04016 (2024)
20
20
21
-
[20] Cuturi, M. and Doucet, A. (2014) [Fast Computation of Wasserstein
22
-
Barycenters](http://proceedings.mlr.press/v32/cuturi14.html). International
23
-
Conference in Machine Learning
21
+
[20] Cuturi, M. and Doucet, A. (2014) Fast Computation of Wasserstein
22
+
Barycenters. InternationalConference in Machine Learning
24
23
25
-
[43] Álvarez-Esteban, Pedro C., et al. "A fixed-point approach to barycenters in Wasserstein space." Journal of Mathematical Analysis and Applications 441.2 (2016): 744-762.
24
+
[43] Álvarez-Esteban, Pedro C., et al. A fixed-point approach to barycenters in
25
+
Wasserstein space. Journal of Mathematical Analysis and Applications 441.2
- :math:`a` (n) is the (fixed) barycentre weights,
457
-
- :math:`Y_k` (m_k, d_k) is the k-th measure support (`measure_locations[k]`),
456
+
- :math:`X` (n, d) is the barycenter support,
457
+
- :math:`a` (n) is the (fixed) barycenter weights,
458
+
- :math:`Y_k` (m_k, d_k) is the k-th measure support
459
+
(`measure_locations[k]`),
458
460
- :math:`b_k` (m_k) is the k-th measure weights (`measure_weights[k]`),
459
461
- :math:`c_k: \mathbb{R}^{n\times d}\times\mathbb{R}^{m_k\times d_k} \rightarrow \mathbb{R}_+^{n\times m_k}` is the k-th cost function (which computes the pairwise cost matrix)
460
-
- :math:`\mathcal{T}_{c_k}(X, a, Y_k, b)` is the OT cost between the barycentre measure and the k-th measure with respect to the cost :math:`c_k`:
462
+
- :math:`\mathcal{T}_{c_k}(X, a, Y_k, b)` is the OT cost between the barycenter measure and the k-th measure with respect to the cost :math:`c_k`:
Function from :math:`\mathbb{R}^{d_1} \times\cdots \times \mathbb{R}^{d_K}` to :math:`\mathbb{R}^d` accepting a list of K arrays of shape (n\times d_K), computing the ground barycentre.
508
+
Function List(array(n, d_k)) -> array(n, d) accepting a list of K arrays
509
+
of shape (n\times d_K), computing the ground barycenters (broadcasted
510
+
over n).
511
+
a : array-like, optional
512
+
Array of shape (n,) representing weights of the barycenter
.. [74] Tanguy, Eloi and Delon, Julie and Gozlan, Nathaël (2024). [Computing Barycentres of Measures for Generic Transport Costs](https://arxiv.org/abs/2501.04016). arXiv preprint 2501.04016 (2024)
533
+
.. [74] Tanguy, Eloi and Delon, Julie and Gozlan, Nathaël (2024). Computing
534
+
barycenters of Measures for Generic Transport Costs. arXiv preprint
535
+
2501.04016 (2024)
522
536
523
-
.. [20] Cuturi, Marco, and Arnaud Doucet. "Fast computation of Wasserstein barycenters." International Conference on Machine Learning. 2014.
537
+
.. [20] Cuturi, Marco, and Arnaud Doucet. "Fast computation of Wasserstein
538
+
barycenters." International Conference on Machine Learning. 2014.
524
539
525
-
.. [43] Álvarez-Esteban, Pedro C., et al. "A fixed-point approach to barycenters in Wasserstein space." Journal of Mathematical Analysis and Applications 441.2 (2016): 744-762.
540
+
.. [43] Álvarez-Esteban, Pedro C., et al. "A fixed-point approach to
541
+
barycenters in Wasserstein space." Journal of Mathematical Analysis and
542
+
Applications 441.2 (2016): 744-762.
526
543
527
544
See Also
528
545
--------
529
-
ot.lp.free_support_barycenter : Free support solver for the case where
530
-
:math:`c_k(x,y) = \|x-y\|_2^2`.
546
+
ot.lp.free_support_barycenter : Free support solver for the case where :math:`c_k(x,y) = \|x-y\|_2^2`.
531
547
ot.lp.generalized_free_support_barycenter : Free support solver for the case where :math:`c_k(x,y) = \|P_kx-y\|_2^2` with :math:`P_k` linear.
532
548
"""
533
549
nx=get_backend(X_init, measure_locations[0])
534
550
K=len(measure_locations)
535
551
n=X_init.shape[0]
536
-
a=nx.ones(n) /n
552
+
ifaisNone:
553
+
a=nx.ones(n, type_as=X_init) /n
537
554
X_list= [X_init] iflogelse [] # store the iterations
538
555
X=X_init
539
556
dX_list= [] # store the displacement squared norms
0 commit comments