The Hyperbolic Space mathbb H^n

The $n$-dimensional Hyperbolic space $\mathbb H^n$ embedded in $\mathbb R^{n+1}$

The hyperbolic space $\mathbb H^n$ posesses the following instances of the abstract types Manifold, MPoint, and TVector.

Manopt.HnPointType.
HnPoint <: MPoint

A point $x$ on the manifold $\mathbb H^n$ represented by a vector $x\in\mathbb R^{n+1}$ with Minkowski inner product

\[\langle x,x\rangle_{\mathrm{M}} = -x_{n+1}^2 + \sum_{k=1}^n x_k^2 = -1\]

.

source
HnTVector <: TVector

A tangent vector $\xi \in T_x\mathbb H^n$ to a HnPoint $x$ on the $n$-dimensional Hyperbolic space $\mathbb H^n$. To be precise $\xi\in\mathbb R^{n+1}$ is hyperbocally orthogonal to $x\in\mathbb R^{n+1}$, i.e. orthogonal with respect to the Minkowski inner product

\[\langle \xi, x \rangle_{\mathrm{M}} = -\xi_{n+1}x_{n+1} + \sum_{k=1}^n \xi_k x_k = 0\]
source
Hyperbolic <: Manifold

The manifold $\mathbb H^n$ is the set

\[\mathbb H^n = \Bigl\{x\in\mathbb R^{n+1} \ \Big|\ \langle x,x \rangle_{\mathrm{M}}= -x_{n+1}^2 + \displaystyle\sum_{k=1}^n x_k^2 = -1, x_{n+1} > 0\Bigr\},\]

where $\langle\cdot,\cdot\rangle_{\mathrm{M}}$ denotes the MinkowskiDot is Minkowski inner product, and this inner product in the embedded space yields the Riemannian metric when restricted to the tangent bundle $T\mathbb H^n$.

This manifold is a matrix manifold (see IsMatrixM) and embedded (see IsEmbeddedM).

Abbreviation

Hn

Constructor

Hyperbolic(n)

generates the n-dimensional hyperbolic manifold embedded in $\mathbb R^{n+1}$.

source

Functions

Base.expMethod.
exp(M,x,ξ,[t=1.0])

computes the exponential map on the Hyperbolic space $\mathbb H^n$ with respect to the HnPoint x and the HnTVector ξ, which can be shortened with t to . The formula reads

\[\exp_x\xi = \cosh(\sqrt{\langle\xi,\xi\rangle_{\mathrm{M}}})x + \operatorname{sinh}(\sqrt{\langle\xi,\xi\rangle_{\mathrm{M}}})\frac{\xi}{\sqrt{\langle\xi,\xi\rangle_{\mathrm{M}}}}.\]
source
Base.logMethod.
log(M,x,y)

computes the logarithmic map on the Hyperbolic space $\mathbb H^n$, i.e., the HnTVector whose corresponding geodesic starting from HnPoint x reaches the HnPoint y after time 1 on the Hyperbolic space $\mathbb H^n$. The formula reads for $x\neq y$

\[\log_x y = d_{\mathbb H^n}(x,y)\frac{y-\langle x,y\rangle_{\mathrm{M}} x}{\lVert y-\langle x,y\rangle_{\mathrm{M}} x \rVert_2}\]

and is zero otherwise.

source
LinearAlgebra.dotMethod.
dot(M,x,ξ,ν)

compute the Riemannian inner product for two HnTVectors ξ and ν from $T_x\mathcal M$ of the Hyperbolic space $\mathbb H^n$ given by $\langle \xi, \nu \rangle_{\mathrm{M}}$ the MinkowskiDot Minkowski inner product on $\mathbb R^{n+1}$.

source
LinearAlgebra.normMethod.
norm(M,x,ξ)

Computes the norm of the HnTVector ξ in the tangent space $T_x\mathcal M$ at HnPoint x of the Hyperbolic space $\mathbb H^n$.

source
MinkowskiDot(a,b)

computes the Minkowski inner product of two Vectors a and b of same length n+1, i.e.

\[\langle a,b\rangle_{\mathrm{M}} = -a_{n+1}b_{n+1} + \displaystyle\sum_{k=1}^n a_kb_k.\]
source
Manopt.distanceMethod.
distance(M,x,y)

compute the Riemannian distance on the Hyperbolic space $\mathbb H^n$ embedded in $\mathbb R^{n+1}$ can be computed as

\[d_{\mathbb H^n}(x,y) = \operatorname{acosh} \bigl(-\langle x,y\rangle_{\mathrm{M}}\bigr),\]

where $\langle x,y\rangle_{\mathrm{M}} = -x_{n+1}y_{n+1} + \displaystyle\sum_{k=1}^n x_ky_k$ denotes the MinkowskiDot Minkowski inner product on $\mathbb R^{n+1}$.

source
manifoldDimension(x)

returns the dimension of the Hyperbolic space $\mathbb H^n$, the HnPoint x, itself embedded in $\mathbb R^{n+1}$, belongs to.

source
manifoldDimension(M)

returns the dimension of the Hyperbolic space $\mathbb H^n$.

source
parallelTransport(M,x,y,ξ)

Compute the paralllel transport of the HnTVector ξ from the tangent space $T_x\mathcal M$ at HnPoint x to $T_y\mathcal M$ at HnPoint y on the Hyperbolic space $\mathbb H^n$ along the unique geodesic $g(\cdot;x,y)$. The formula reads

\[P_{x\to y}(\xi) = \xi - \frac{\langle \log_xy,\xi\rangle_x} {d^2_{\mathbb H^n}(x,y)}\bigl(\log_xy + \log_yx \bigr).\]
source
Manopt.projectMethod.
ξ = project(M,x,v)

perform an orthogonal projection with respect to the Minkowski inner product, i.e. ξ is a tangent vector at the HnPoint x on Hyperbolic space M.

The formula reads

\[\xi = v + \langle x,v\rangle_{\mathrm{M}} x,\]

where $\langle \cdot, \cdot \rangle_{\mathrm{M}$ denotes the Minkowski inner product in the embedding, see MinkowskiDot.

source
randomMPoint(M:Hyperbolic)

generate a random point by creating a randn point in $\mathbb R^n$ and calculate the remaining point such that the MinkowskiDot is -1.

source
randomTVector(M)
source
typicalDistance(M)

returns the typical distance on the Hyperbolic space M: $\sqrt{n}$.

source
validateMPoint(M,x)

validate, that the HnPoint x is a valid point on the Hyperbolic space M, i.e. that the dimension of $x\in\mathbb H^n$ is correct and that its MinkowskiDot inner product is $\langle x,x\rangle_{\mathrm{M}} = -1$.

source
validateTVector(M,x,ξ)

check that the HnTVector ξ is a valid tangent vector in the tangent space of the HnPoint x on the Hyperbolic space M, i.e. x is a valid point on M, the vectors within ξ and x agree in length and the Minkowski inner product MinkowskiDot(x,ξ)is zero.

source
Manopt.zeroTVectorMethod.
ξ = zeroTVector(M,x)

returns a zero vector in the tangent space $T_x\mathcal M$ of the HnPoint $x\in\mathbb H^n$ on the Hyperbolic space M.

source