class_docstr: A Riemannian metric on the Hilbert sphere (functions of norm 1).
class_docstr_tok: ["A","Riemannian","metric","on","the","Hilbert","sphere","(","functions","of","norm","1",")","."]
docstr: Compute the inner-product of two tangent vectors at a base point.
  
  Parameters
  ----------
  tangent_vec_a : array-like, shape=[..., n_samples]
      First tangent vector at base point.
  tangent_vec_b : array-like, shape=[..., n_samples]
      Second tangent vector at base point.
  base_point : array-like, shape=[..., n_samples], optional
      Point on the hypersphere.
  
  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",".","Parameters","--","--","--","--","--","tangent_vec_a",":","array-like",",","shape=","[","...",",","n_samples","]","First","tangent","vector","at","base","point",".","tangent_vec_b",":","array-like",",","shape=","[","...",",","n_samples","]","Second","tangent","vector","at","base","point",".","base_point",":","array-like",",","shape=","[","...",",","n_samples","]",",","optional","Point","on","the","hypersphere",".","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=None
  ):
      """Compute the inner-product of two tangent vectors at a base point.
  
      Parameters
      ----------
      tangent_vec_a : array-like, shape=[..., n_samples]
          First tangent vector at base point.
      tangent_vec_b : array-like, shape=[..., n_samples]
          Second tangent vector at base point.
      base_point : array-like, shape=[..., n_samples], optional
          Point on the hypersphere.
  
      Returns
      -------
      inner_prod : array-like, shape=[...,]
          Inner-product of the two tangent vectors.
      """
      tangent_vec_a, tangent_vec_b = gs.broadcast_arrays(
          tangent_vec_a, tangent_vec_b
      )
      x = gs.broadcast_to(self._space._sinf.domain, tangent_vec_a.shape)
  
      return gs.trapz(tangent_vec_a * tangent_vec_b, x=x, axis=-1)
  
file_path: geomstats/geomstats/geometry/functions.py
imports: import math
  import geomstats.algebra_utils
  import geomstats.backend
  from geomstats.geometry.manifold import Manifold
  from geomstats.geometry.riemannian_metric import RiemannianMetric
label_desc: Use image node_id 1 for calling the HilbertSphereMetric obj's underlying member method code with example usage: obj.inner_product(tangent_vec_a, tangent_vec_b, base_point) and returns: gs