[Math] How to calculate the point on the sphere that is nearest to some given points on the sphere

geometryoptimization

Given some points $X=\{x_i:||x_i||=1,i=1,\ldots,n\} $ located on the sphere, how to calculate the point $\tilde{x}$ on the sphere that is nearest to these given points. That is to say $$\tilde{x}=\arg\min_{\tilde{x}}\sum_{x_i\in X}d(\tilde{x},x_i), s.t. ||\tilde{x}||=1,$$ where $d(\tilde{x},x_i)=\arccos(\tilde{x}\cdot x_i)$ is the spherical distance between $\tilde{x}$ and $x_i$.

The question is very similar to How to calculate center point in geographic coordinates?. In that question, someone suggested to compute the mean $\bar{x}=\frac{1}{n}\sum x_i$ of the given points, and normalize the mean vector. As far as I know, the mean $\bar{x}$ is optimal under the squared L2 norm. But I am not sure that whether the normalized mean is optimal under the spherical distance measure.

Any suggestion or reference would be appreciated.

Best Answer

This is a problem of finding a geometric median on a sphere. While the mean provides a minimizer for the sum of squared distances (in a Euclidean setting), the $L^1$ minimum is generally not expressible in such an explicit form. For three points, the Euclidean solution is known as a Fermat point, and for four coplanar points an explicit solution is known.

The usual approach is an iterative one, using a weighted least squares minimizer while adjusting the weights to obtain the $L^1$ minimum. The basic method is called the Weiszfeld algorithm, and because of the convexity of the distance function, a suitable variant on the sphere has been conjectured to converge except for countably many initial points (though as noted, the minimizing location is not necessarily unique).

Added: Let me point out a note on the three point case by K. Ghalieh and M. Hajja, The Fermat point of a spherical triangle in The Mathematical Gazette of Nov. 1996 (pp. 561-564). Although it is "behind a pay wall", you can nonetheless take advantage of JSTOR's free-of-charge program (registration required) to read the article online (see site for details), as I have done.

The authors show that when the sides of a spherical triangle $ABC$ are sufficiently short, each less than $\pi/2$ on a sphere of unit radius (implying that they are not all on the same great circle and that no two vertices are antipodal), then a Fermat point (minimizing the sum of spherical distances to three vertices) exists, is unique, and shares some defining properties with the case of a triangle in the Euclidean plane:

  • If all three vertex angles are less than 120°, then the Fermat point $P$ is "inside" the spherical triangle (in the smaller region of the sphere bounded by the triangle) and the three sides subtend equal angles around $P$:

$$ \angle APB = \angle BPC = \angle CPA = 120° $$

  • If one of the vertex angles is 120° or more, that vertex is the Fermat point.
Related Question