class_docstr: Class for the metric of the n-dimensional hyperbolic space.
  
  Class for the metric of the n-dimensional hyperbolic space
  as embedded in the Poincaré half space model.
docstr: Compute Riemannian logarithm of a point wrt a base point.
  
  Parameters
  ----------
  point : array-like, shape=[..., dim]
      Point in hyperbolic space.
  base_point : array-like, shape=[..., dim]
      Point in hyperbolic space.
  
  Returns
  -------
  log : array-like, shape=[..., dim]
      Tangent vector at the base point equal to the Riemannian logarithm
      of point at the base point.
docstr_tok: ["Compute","Riemannian","logarithm","of","a","point","wrt","a","base","point",".","Parameters","--","--","--","--","--","point",":","array-like",",","shape=","[","...",",","dim","]","Point","in","hyperbolic","space",".","base_point",":","array-like",",","shape=","[","...",",","dim","]","Point","in","hyperbolic","space",".","Returns","--","--","--","-","log",":","array-like",",","shape=","[","...",",","dim","]","Tangent","vector","at","the","base","point","equal","to","the","Riemannian","logarithm","of","point","at","the","base","point","."]
code: def log(self, point, base_point):
      """Compute Riemannian logarithm of a point wrt a base point.
  
      Parameters
      ----------
      point : array-like, shape=[..., dim]
          Point in hyperbolic space.
      base_point : array-like, shape=[..., dim]
          Point in hyperbolic space.
  
      Returns
      -------
      log : array-like, shape=[..., dim]
          Tangent vector at the base point equal to the Riemannian logarithm
          of point at the base point.
      """
      point_ball = self._poincare_ball.half_space_to_ball_coordinates(
          point
      )
      base_point_ball = (
          self._poincare_ball.half_space_to_ball_coordinates(base_point)
      )
      log_ball = self._poincare_ball.metric.log(
          point_ball, base_point_ball
      )
      return self._poincare_ball.ball_to_half_space_tangent(
          log_ball, base_point_ball
      )
  
imports: import math
  import geomstats.backend
  from geomstats.geometry._hyperbolic import _Hyperbolic
  from geomstats.geometry.base import VectorSpaceOpenSet
  from geomstats.geometry.euclidean import Euclidean
  from geomstats.geometry.poincare_ball import PoincareBall
  from geomstats.geometry.riemannian_metric import RiemannianMetric
  from geomstats.vectorization import repeat_out
label_desc: Use image node_id 4 for calling the PoincareHalfSpaceMetric obj's underlying member method code with example usage: obj.log(point, base_point) and returns: self