class_docstr: Class for the Hypersphere Metric.
docstr: Compute the Riemannian logarithm of a point.
  
  Parameters
  ----------
  point : array-like, shape=[..., dim + 1]
      Point on the hypersphere.
  base_point : array-like, shape=[..., dim + 1]
      Point on the hypersphere.
  
  Returns
  -------
  log : array-like, shape=[..., dim + 1]
      Tangent vector at the base point equal to the Riemannian logarithm
      of point at the base point.
docstr_tok: ["Compute","the","Riemannian","logarithm","of","a","point",".","Parameters","--","--","--","--","--","point",":","array-like",",","shape=","[","...",",","dim","+","1","]","Point","on","the","hypersphere",".","base_point",":","array-like",",","shape=","[","...",",","dim","+","1","]","Point","on","the","hypersphere",".","Returns","--","--","--","-","log",":","array-like",",","shape=","[","...",",","dim","+","1","]","Tangent","vector","at","the","base","point","equal","to","the","Riemannian","logarithm","of","point","at","the","base","point","."]
code: def log(self, point, base_point, **kwargs):
      """Compute the Riemannian logarithm of a point.
  
      Parameters
      ----------
      point : array-like, shape=[..., dim + 1]
          Point on the hypersphere.
      base_point : array-like, shape=[..., dim + 1]
          Point on the hypersphere.
  
      Returns
      -------
      log : array-like, shape=[..., dim + 1]
          Tangent vector at the base point equal to the Riemannian logarithm
          of point at the base point.
      """
      inner_prod = self._space.embedding_space.metric.inner_product(
          base_point, point
      )
      cos_angle = gs.clip(inner_prod, -1.0, 1.0)
      squared_angle = gs.arccos(cos_angle) ** 2
      coef_1_ = utils.taylor_exp_even_func(
          squared_angle, utils.inv_sinc_close_0, order=5
      )
      coef_2_ = utils.taylor_exp_even_func(
          squared_angle, utils.inv_tanc_close_0, order=5
      )
      log = gs.einsum("...,...j->...j", coef_1_, point) - gs.einsum(
          "...,...j->...j", coef_2_, base_point
      )
  
      return log
  
imports: import logging
  import math
  from itertools import product
  from scipy.stats import beta
  import geomstats.algebra_utils
  import geomstats.backend
  from geomstats.geometry.base import LevelSet
  from geomstats.geometry.euclidean import Euclidean
  from geomstats.geometry.riemannian_metric import RiemannianMetric
  from geomstats.vectorization import get_batch_shape, repeat_out
label_desc: Use image node_id 5 for calling the HypersphereMetric obj's underlying member method code with example usage: obj.log(point, base_point) and returns: log