class_docstr: Class for product of Riemannian metrics.
class_docstr_tok: ["Class","for","product","of","Riemannian","metrics","."]
docstr: Compute the Riemannian logarithm of a point.
  
  Parameters
  ----------
  point : array-like, shape=[..., self.shape]
      Point on the manifold.
  base_point : array-like, shape=[..., self.shape]
      Point on the manifold.
      Optional, default: None.
  
  Returns
  -------
  log : array-like, shape=[..., self.shape]
      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=","[","...",",","self.shape","]","Point","on","the","manifold",".","base_point",":","array-like",",","shape=","[","...",",","self.shape","]","Point","on","the","manifold",".","Optional",",","default",":","None",".","Returns","--","--","--","-","log",":","array-like",",","shape=","[","...",",","self.shape","]","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 the Riemannian logarithm of a point.
  
      Parameters
      ----------
      point : array-like, shape=[..., self.shape]
          Point on the manifold.
      base_point : array-like, shape=[..., self.shape]
          Point on the manifold.
          Optional, default: None.
  
      Returns
      -------
      log : array-like, shape=[..., self.shape]
          Tangent vector at the base point equal to the Riemannian logarithm
          of point at the base point.
      """
      args = {"point": point, "base_point": base_point}
      logs = self._iterate_over_factors("log", args)
      return self._space.embed_to_product(logs)
  
imports: import math
  import geomstats.backend
  import geomstats.errors
  from geomstats.geometry.complex_manifold import ComplexManifold
  from geomstats.geometry.complex_riemannian_metric import ComplexRiemannianMetric
  from geomstats.geometry.manifold import Manifold
  from geomstats.geometry.riemannian_metric import RiemannianMetric
  from geomstats.vectorization import get_batch_shape
label_desc: Use image node_id 8 for calling the ProductRiemannianMetric obj's underlying member method code with example usage: obj.log(point, base_point) and returns: self