4

I have $N$ points in a $D$-dimensional Poincare disk model. Ideally, I would like to have a centroid which would be representative of the cluster. To my knowledge, simple centroid calculation doesn't work in hyperbolic spaces as it does in Euclidean spaces.

So, my question is:

Is there a formula which given $N$ points computes their centroid?

If not, is there a closed-form solution for this problem when $N = 2$?

Thanks!

Cave Johnson
  • 4,360
Want
  • 91
  • The question makes sense to me.. as the path towards the boundary is weighted more towards the boundary.. – Narasimham Feb 05 '18 at 10:04
  • 1
    To make the question answerable you should give your definition of a centroid. – Moishe Kohan Feb 06 '18 at 11:57
  • @MoisheCohen A point in the space that minimizes the sum of distances between that point and the elements.

    m = argmin_m* sum( d(m*, x_i)), where 1 <= i <= N

    – Want Feb 06 '18 at 12:25
  • @Want: That's what I thought. Please, update your question by including the definition (and use mathjax please). – Moishe Kohan Feb 06 '18 at 14:36
  • 1
    For $N=2$ see https://math.stackexchange.com/questions/2101606/formula-for-midpoint-in-hyperbolic-3-space/2138748#2138748. – Moishe Kohan Feb 06 '18 at 14:56
  • @MoisheCohen Thanks! What about the general case when N > 2? – Want Feb 06 '18 at 15:04
  • @Want: I have to think. – Moishe Kohan Feb 06 '18 at 15:40
  • Upon further reflection, most likely, there is no (known) nice formula for the hyperbolic centroid. It does satisfy a differential equation (which is true for centroids in general Riemannian manifolds). See for instance Riemannian H.Karcher, "Center of Mass and Mollifier Smoothing", 1977. – Moishe Kohan Feb 06 '18 at 19:25
  • 2
    According to your definition (minimize the sum of distances from all elements), for $N=2$ any point on the line is the centroid, and for $N=3$ and for three colinear points $A,$ $B,$ $C$, the middle point $B$ is the centroid. (If $N$ is large and the points are distant, this boils down to finding the centroid of a tree -- a well known graph problem.) Note that the same thing about three colinear points happens in Euclidean geometry, but usually centroid is defined as the point which minimizes the sum of squared distances, rather than distances themselves, and thus the result is different. – Zeno Rogue Feb 10 '18 at 01:46
  • Note that the point that minimizes the sum of distances between that point and the elements is not the centroid—that's the geometric median. The centroid, which is the arithmetic mean of the points, minimizes the sum of squared distances. See this table. – HelloGoodbye Mar 03 '23 at 23:44
  • To try to illustrate why the point that minimizes the sum of distances cannot be the centroid, let's consider Euclidean geometry. If we only have two points, $\vec{x}1$ and $\vec{x}_2$, any point on the line that goes between $\vec{x}_1$ and $\vec{x}_2$, placed in between the two points, minimizes the sum of distances. On the contrary, the centroid is the arithmetic mean of positions, and is defined unambiguously as $\displaystyle\frac{\sum{i=1}^N\vec{x}_i}{N}$, where $N$ is the number of points (in the discrete case). – HelloGoodbye Mar 04 '23 at 00:04

1 Answers1

1

The $N=2$ hyperboloid formula Moishe shared generalizes, at least in the case of $D=2$. Check the answer to the following question for $N=3$ to see.

Centroid of a Triangle in The Poincare Disk

I haven't convinced myself the formula also works for higher dimensions.

You can easily move between the hyperboloid and ball models via stereographic projection.

(sorry, don't yet have enough reputation to just comment)

  • 2
    I think there is no problem with more dimensions -- you can take an isometry of the Minkowski hyperboloid to send the first point to $(0,0,...,1)$, then rotate to send the second point to $(x,0,...,z)$, then the third point to $(x_3,y_3,0,...,z_3)$. In other words, choose the coordinate system so that only three coordinates are not zero. – Zeno Rogue Feb 10 '18 at 01:30
  • 1
    I do not believe this uses the same definition of centroid as requested by OP, though. If three points $A$, $B$, and $C$ are colinear, the point minimizing the sum of distances is $B$. However, according to this formula, it should change when you slightly move $A$ or $C$ along the line. – Zeno Rogue Feb 10 '18 at 01:39
  • If the goal is to find the "representative of the cluster" (as OP said) without caring about minimizing anything special, I think the formula should be fine for any N and D. It is very simple, and it is equivalent to Euclidean centroid when the curvature is 0 -- both very nice properties. – Zeno Rogue Feb 10 '18 at 12:17