Barycentric coding on a graph

Three reference distributions — three piles of sand — sit on a grid graph. Every point of the triangle below is a set of weights, and every set of weights picks out a Wasserstein barycenter: the distribution that minimizes the total weighted cost of moving mass to all three references, where mass can only travel along the graph's edges. Drag the point and watch the sand move.

λ = (, , )

ν1
ν2
ν3
Barycenter νλ — circle area is proportional to mass

Entropic (Sinkhorn) barycenter, ε = , on a grid with squared shortest-path cost, computed live by a small Python endpoint on every move. The dissertation's method replaces this static cost with a dynamic, Benamou–Brenier-style geometry on the graph; see the defense talk.