# Hyperbolic space

Manifolds.HyperbolicType
Hyperbolic{N} <: AbstractEmbeddedManifold{ℝ,DefaultIsometricEmbeddingType}

The hyperbolic space $ℍ^n$ represented by $n+1$-Tuples, i.e. embedded in the Lorentzian manifold equipped with the MinkowskiMetric $⟨\cdot,\cdot⟩_{\mathrm{M}}$. The space is defined as

$ℍ^n = \Bigl\{p ∈ ℝ^{n+1}\ \Big|\ ⟨p,p⟩_{\mathrm{M}}= -p_{n+1}^2 + \displaystyle\sum_{k=1}^n p_k^2 = -1, p_{n+1} > 0\Bigr\},.$

The tangent space $T_p ℍ^n$ is given by

$T_p ℍ^n := \bigl\{ X ∈ ℝ^{n+1} : ⟨p,X⟩_{\mathrm{M}} = 0 \bigr\}.$

Note that while the MinkowskiMetric renders the Lorentz manifold (only) pseudo-Riemannian, on the tangent bundle of the Hyperbolic space it induces a Riemannian metric. The corresponding sectional curvature is $-1$.

Constructor

Hyperbolic(n)

Generate the $ℍ^{n} ⊂ ℝ^{n+1}$

source
Base.expMethod
exp(M::Hyperbolic, p, X)

Compute the exponential map on the Hyperbolic space $ℍ^n$ emanating from p towards X. The formula reads

$\exp_p X = \cosh(\sqrt{⟨X,X⟩_{\mathrm{M}}})p + \sinh(\sqrt{⟨X,X⟩_{\mathrm{M}}})\frac{X}{\sqrt{⟨X,X⟩_{\mathrm{M}}}},$

where $⟨\cdot,\cdot⟩_{\mathrm{M}}$ denotes the MinkowskiMetric on the embedding, the Lorentzian manifold.

source
Base.logMethod
log(M::Hyperbolic, p, q)

Compute the logarithmic map on the Hyperbolic space $ℍ^n$, the tangent vector representing the geodesic starting from p reaches q after time 1. The formula reads for $p ≠ q$

$\log_p q = d_{ℍ^n}(p,q) \frac{q-⟨p,q⟩_{\mathrm{M}} p}{\lVert q-⟨p,q⟩_{\mathrm{M}} p \rVert_2},$

where $⟨\cdot,\cdot⟩_{\mathrm{M}}$ denotes the MinkowskiMetric on the embedding, the Lorentzian manifold. For $p=q$ the logarihmic map is equal to the zero vector.

source
ManifoldsBase.check_tangent_vectorMethod
check_tangent_vector(M::Hyperbolic, p, X; check_base_point = true, kwargs... )

Check whether X is a tangent vector to p on the Hyperbolic M, i.e. after check_manifold_point(M,p), X has to be of the same dimension as p and orthogonal to p with respect to the inner product from the embedding, see MinkowskiMetric. The optional parameter check_base_point indicates whether to call check_manifold_point for p. The tolerance for the last test can be set using the kwargs....

source
ManifoldsBase.vector_transport_toMethod
vector_transport_to(M::Hyperbolic, p, X, q, ::ParallelTransport)

Compute the paralllel transport of the X from the tangent space at p on the Hyperbolic space $ℍ^n$ to the tangent at q along the geodesic connecting p and q. The formula reads

$\mathcal P_{q←p}X = X - \frac{⟨\log_p q,X⟩_p}{d^2_{ℍ^n}(p,q)} \bigl(\log_p q + \log_qp \bigr),$

where $⟨\cdot,\cdot⟩_p$ denotes the inner product in the tangent space at p.

source