Lets say we have a point $p\in\mathbb{H}^n$ in hyperbolic space (with curvature 1). And a geodesic, starting at the origin $(1,0,\ldots,0)$ in direction $\mathbf{v}$.

What I'd like to do, is to find the point $v^*$ on the geodesic described by $\mathbf{v}$ that is closest to $p$. So the geodesic connecting $v^*$ and $p$ would then be the shortest of all geodesics that connect $p$ with a point $v'$ on the geodesic described by $\mathbf{v}$.

The following picture illustrates the situation on the Poincaré disk:

enter image description here

How can you compute $v^*$?

I only know how to do this in Euclidean geometry. I'm not sure if it translates to hyperbolic geometry.

In Euclidean geometry, the orthogonal projection of $\mathbf{x}$ onto a line through the origin described by $\mathbf{w}$ can be computed as follows:

$$ proj_\mathbf{x}(\mathbf{w})= \frac{\langle \mathbf{x},\mathbf{w}\rangle}{\langle\mathbf{w},\mathbf{w}\rangle}\mathbf{w}= \langle \mathbf{x},\widehat{\mathbf{w}}\rangle\widehat{\mathbf{w}} $$

where $\widehat{\mathbf{w}}=\mathbf{w}/\|\mathbf{w}\|$.

Now, the term $\langle \mathbf{x},\widehat{\mathbf{w}}\rangle$ is the distance that we need to travel in the direction of $\widehat{\mathbf{w}}$ to get to $proj_\mathbf{x}(\mathbf{w})$.

Now, I've asked myself: If we use the hyperboloid model of hyperbolic geometry. Can we just use the Minkowski inner product $\langle \cdot,\cdot\rangle_*$ (induced by the metric tensor $g=diag((-1,1,...,1)))$ and compute the distance via $\langle p, \widehat{v}\rangle_*$?

I think that's rather not correct, because distances are measured as follows in the hyperboloid model: $$ d(p,q)=\cosh^{-1}(-\langle p,q\rangle_*) $$

So my attempt to define the projection of $p$ onto the closest point on a geodesic desribed by $v$ (starting from the origin) is $$ proj_{v}(p)=\arg\min_{v^*} d(u,v^*) =\arg\min_{v^*}\cosh^{-1}(-\langle u,v^*\rangle_*) $$ where $v^*$ lie on the geodesic described by $v$ (starting from origin).

However, I don't know how to describe the geodesic continuing in the direction of $v$ as an expression that I could plug into the optimization for $v^*$. Then I'd just differentiate to get to the solution.

If I'm even correct up until here, can you help me to continue?

I'm starting to get familiar with hyperbolic geometry. So even if you just point me to topics I'm happy.

  • 1
    $\begingroup$ 1) cosh is a monotonous function (for parameters > 0), so you can just minimize the Minkowski inner product. $\endgroup$
    – Zeno Rogue
    Commented Apr 5, 2019 at 9:58
  • 1
    $\begingroup$ 2) in the hyperboloid model, a geodesic going through points $a$ and $b$ is simply the set of linear combinations of $a$ and $b$ which are on the hyperboloid. If you do not see this, consider spherical geometry (with $\mathbb{R}^3$ coordinates); most things in hyperboloid model work exactly like on a sphere, but with some signs changed and cos/sin changed to cosh/sinh. $\endgroup$
    – Zeno Rogue
    Commented Apr 5, 2019 at 10:00
  • $\begingroup$ thank, that‘s right. and what do i plug in as a parametrization for a geodesic in direction v? $\endgroup$
    – ndrizza
    Commented Apr 5, 2019 at 10:01
  • $\begingroup$ A geodesic going through point $a$ in direction $v$ is also the set of linear combinations of $a$ and $v$ which are on the hyperboloid. For example, for $a=(1,0...0)$ and $v=(0,1,0...0)$, the geodesic is $(\cosh(t),\sinh(t),0...0)$ or $(\sqrt{1+t^2},t,0...0)$ (the first parametrization has constant speed, the second parametrization potentially could lead to easier computations). $\endgroup$
    – Zeno Rogue
    Commented Apr 5, 2019 at 10:57

1 Answer 1


The hyperboloid is the set of all points $\vec x\in\mathbb R^{n,1}$ satisfying

$$\vec x^2=\vec x\cdot\vec x=\frac1K$$

where $K=-1$ is the Gaussian curvature. Differentiating this, we find

$$2\,\vec x\cdot\vec x'=0$$

that any tangent vector is orthogonal to the position vector.

The geodesic through $\vec x_0$ in the direction $\vec v_0$ (we require $\vec x_0\cdot\vec v_0=0$) can be parametrized by

$$\vec x=\vec x_0\cosh\theta+\frac{\vec v_0}{\lVert\vec v_0\rVert}\sinh\theta=\hat x_0\cosh\theta+\hat v_0\sinh\theta.$$

We can verify that this is always on the hyperboloid:

$$\vec x^2=\hat x_0^2\cosh^2\theta+\hat v_0^2\sinh^2\theta+2\hat x_0\cdot\hat v_0\sinh\theta\cosh\theta$$


Its velocity is

$$\vec v=\frac{d\vec x}{d\theta}=\hat x_0\sinh\theta+\hat v_0\cosh\theta$$

which has constant magnitude:

$$\vec v^2=-\sinh^2\theta+\cosh^2\theta=+1.$$

We can also verify that it is actually a geodesic, because the curvature vector $d^2\vec x/d\theta^2=\vec x$ is always orthogonal to the surface.

We want to find a point $\vec x$ on the curve closest to the given point $\vec p$. As ZenoRogue said, minimizing the distance $\text{arcosh}(-\vec x\cdot\vec p)$ is equivalent to minimizing $-\vec x\cdot\vec p$. (This is also equivalent to minimizing $-2-2\vec x\cdot\vec p=(\vec x-\vec p)\cdot(\vec x-\vec p)=\lVert\vec x-\vec p\rVert^2$ .) So

$$0=\frac{d}{d\theta}(\vec x\cdot\vec p)=\frac{d\vec x}{d\theta}\cdot\vec p=\vec v\cdot\vec p$$

$$=\hat x_0\cdot\vec p\sinh\theta+\hat v_0\cdot\vec p\cosh\theta.$$


$$\tanh\theta=\frac{\hat v_0\cdot\vec p}{-\hat x_0\cdot\vec p}.$$

Using various trig identities such as $1-\tanh^2=\text{sech}^2=1/\cosh^2$, we find the desired point

$$\vec x=\hat x_0\frac{1}{\sqrt{1-\left(\frac{\hat v_0\cdot\vec p}{-\hat x_0\cdot\vec p}\right)^2}}+\hat v_0\frac{\left(\frac{\hat v_0\cdot\vec p}{-\hat x_0\cdot\vec p}\right)}{\sqrt{1-\left(\frac{\hat v_0\cdot\vec p}{-\hat x_0\cdot\vec p}\right)^2}}$$

$$=\frac{\hat x_0(-\hat x_0\cdot\vec p)+\hat v_0(\hat v_0\cdot\vec p)}{\sqrt{(-\hat x_0\cdot\vec p)^2-(\hat v_0\cdot\vec p)^2}}.$$

The numerator is simply the projection of $\vec p$ onto the plane of $\hat x_0$ and $\hat v_0$, and the denominator is the magnitude of that.

This can also be described with geometric algebra. The plane of the geodesic is represented by a bivector

$$B=\hat x_0\wedge\hat v_0=\hat x_0\hat v_0$$

and all points in this plane satisfy $B\wedge\vec x=0$. This bivector's inverse is $B^{-1}=B$, because

$$B^2=(\hat x_0\hat v_0)(\hat x_0\hat v_0)=\hat x_0(\hat v_0\hat x_0)\hat v_0=\hat x_0(-\hat x_0\hat v_0)\hat v_0=(-\hat x_0\hat x_0)(\hat v_0\hat v_0)=+1.$$

(Contrast this with Euclidean bivectors, which square to $-1$.) The projection of $\vec p$ onto the plane is $B^{-1}(B\cdot\vec p)$, so the desired point is

$$\vec x=\frac{B^{-1}(B\cdot\vec p)}{\lVert B^{-1}(B\cdot\vec p)\rVert}.$$

  • $\begingroup$ Thank you so much for your great answer! I learned a lot! $\endgroup$
    – ndrizza
    Commented Apr 6, 2019 at 11:36

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .