class_docstr: Class that defines operations using a hyperbolic metric.
class_docstr_tok: ["Class","that","defines","operations","using","a","hyperbolic","metric","."]
docstr: Compute the Riemannian exponential of a tangent vector.
  
  Parameters
  ----------
  tangent_vec : array-like, shape=[..., dim + 1]
      Tangent vector at a base point.
  base_point : array-like, shape=[..., dim + 1]
      Point in hyperbolic space.
  
  Returns
  -------
  exp : array-like, shape=[..., dim + 1]
      Point in hyperbolic space equal to the Riemannian exponential
      of tangent_vec at the base point.
docstr_tok: ["Compute","the","Riemannian","exponential","of","a","tangent","vector",".","Parameters","--","--","--","--","--","tangent_vec",":","array-like",",","shape=","[","...",",","dim","+","1","]","Tangent","vector","at","a","base","point",".","base_point",":","array-like",",","shape=","[","...",",","dim","+","1","]","Point","in","hyperbolic","space",".","Returns","--","--","--","-","exp",":","array-like",",","shape=","[","...",",","dim","+","1","]","Point","in","hyperbolic","space","equal","to","the","Riemannian","exponential","of","tangent_vec","at","the","base","point","."]
code: def exp(self, tangent_vec, base_point):
      """Compute the Riemannian exponential of a tangent vector.
  
      Parameters
      ----------
      tangent_vec : array-like, shape=[..., dim + 1]
          Tangent vector at a base point.
      base_point : array-like, shape=[..., dim + 1]
          Point in hyperbolic space.
  
      Returns
      -------
      exp : array-like, shape=[..., dim + 1]
          Point in hyperbolic space equal to the Riemannian exponential
          of tangent_vec at the base point.
      """
      sq_norm_tangent_vec = (
          self._space.embedding_space.metric.squared_norm(tangent_vec)
      )
      sq_norm_tangent_vec = gs.clip(sq_norm_tangent_vec, 0, math.inf)
  
      coef_1 = utils.taylor_exp_even_func(
          sq_norm_tangent_vec, utils.cosh_close_0, order=5
      )
      coef_2 = utils.taylor_exp_even_func(
          sq_norm_tangent_vec, utils.sinch_close_0, order=5
      )
  
      exp = gs.einsum("...,...j->...j", coef_1, base_point) + gs.einsum(
          "...,...j->...j", coef_2, tangent_vec
      )
  
      return self._space.regularize(exp)
  
imports: import math
  import geomstats.algebra_utils
  import geomstats.backend
  from geomstats.geometry._hyperbolic import HyperbolicMetric, _Hyperbolic
  from geomstats.geometry.base import LevelSet
  from geomstats.geometry.minkowski import Minkowski
  from geomstats.vectorization import repeat_out
label_desc: Use image node_id 4 for calling the HyperboloidMetric obj's underlying member method code with example usage: obj.exp(tangent_vec, base_point) and returns: self