class_docstr: Class for product of Riemannian metrics.
class_docstr_tok: ["Class","for","product","of","Riemannian","metrics","."]
docstr: Compute the inner-product of two tangent vectors at a base point.
  
  Inner product defined by the Riemannian metric at point `base_point`
  between tangent vectors `tangent_vec_a` and `tangent_vec_b`.
  
  Parameters
  ----------
  tangent_vec_a : array-like, shape=[..., self.shape]
      First tangent vector at base point.
  tangent_vec_b : array-like, shape=[..., self.shape]
      Second tangent vector at base point.
  base_point : array-like, shape=[..., self.shape]
      Point on the manifold.
      Optional, default: None.
  
  Returns
  -------
  inner_prod : array-like, shape=[...,]
      Inner-product of the two tangent vectors.
docstr_tok: ["Compute","the","inner-product","of","two","tangent","vectors","at","a","base","point",".","Inner","product","defined","by","the","Riemannian","metric","at","point","`","base_point","`","between","tangent","vectors","`","tangent_vec_a","`","and","`","tangent_vec_b","`",".","Parameters","--","--","--","--","--","tangent_vec_a",":","array-like",",","shape=","[","...",",","self.shape","]","First","tangent","vector","at","base","point",".","tangent_vec_b",":","array-like",",","shape=","[","...",",","self.shape","]","Second","tangent","vector","at","base","point",".","base_point",":","array-like",",","shape=","[","...",",","self.shape","]","Point","on","the","manifold",".","Optional",",","default",":","None",".","Returns","--","--","--","-","inner_prod",":","array-like",",","shape=","[","...",",","]","Inner-product","of","the","two","tangent","vectors","."]
code: def inner_product(self, tangent_vec_a, tangent_vec_b, base_point):
      """Compute the inner-product of two tangent vectors at a base point.
  
      Inner product defined by the Riemannian metric at point `base_point`
      between tangent vectors `tangent_vec_a` and `tangent_vec_b`.
  
      Parameters
      ----------
      tangent_vec_a : array-like, shape=[..., self.shape]
          First tangent vector at base point.
      tangent_vec_b : array-like, shape=[..., self.shape]
          Second tangent vector at base point.
      base_point : array-like, shape=[..., self.shape]
          Point on the manifold.
          Optional, default: None.
  
      Returns
      -------
      inner_prod : array-like, shape=[...,]
          Inner-product of the two tangent vectors.
      """
      args = {
          "tangent_vec_a": tangent_vec_a,
          "tangent_vec_b": tangent_vec_b,
          "base_point": base_point,
      }
      inner_products = self._iterate_over_factors("inner_product", args)
      return sum(inner_products)
  
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 5 for calling the ProductRiemannianMetric obj's underlying member method code with example usage: obj.inner_product(tangent_vec_a, tangent_vec_b, base_point) and returns: sum