class_docstr: Pullback metric induced by a diffeomorphism.
class_docstr_tok: ["Pullback","metric","induced","by","a","diffeomorphism","."]
docstr: Inner product between two tangent vectors at a base point.
  
  Parameters
  ----------
  tangent_vec_a: array-like, shape=[..., *shape]
      Tangent vector at base point.
  tangent_vec_b: array-like, shape=[..., *shape]
      Tangent vector at base point.
  base_point: array-like, shape=[..., *shape]
      Base point.
      Optional, default: None.
  
  Returns
  -------
  inner_product : array-like, shape=[...,]
      Inner-product.
docstr_tok: ["Inner","product","between","two","tangent","vectors","at","a","base","point",".","Parameters","--","--","--","--","--","tangent_vec_a",":","array-like",",","shape=","[","...",",","*","shape","]","Tangent","vector","at","base","point",".","tangent_vec_b",":","array-like",",","shape=","[","...",",","*","shape","]","Tangent","vector","at","base","point",".","base_point",":","array-like",",","shape=","[","...",",","*","shape","]","Base","point",".","Optional",",","default",":","None",".","Returns","--","--","--","-","inner_product",":","array-like",",","shape=","[","...",",","]","Inner-product","."]
code: def inner_product(self, tangent_vec_a, tangent_vec_b, base_point):
      """Inner product between two tangent vectors at a base point.
  
      Parameters
      ----------
      tangent_vec_a: array-like, shape=[..., *shape]
          Tangent vector at base point.
      tangent_vec_b: array-like, shape=[..., *shape]
          Tangent vector at base point.
      base_point: array-like, shape=[..., *shape]
          Base point.
          Optional, default: None.
  
      Returns
      -------
      inner_product : array-like, shape=[...,]
          Inner-product.
      """
      image_point = self.diffeo.diffeomorphism(base_point)
      return self.image_space.metric.inner_product(
          self.diffeo.tangent_diffeomorphism(
              tangent_vec_a,
              base_point=base_point,
              image_point=image_point,
          ),
          self.diffeo.tangent_diffeomorphism(
              tangent_vec_b,
              base_point=base_point,
              image_point=image_point,
          ),
          image_point,
      )
  
imports: import geomstats.backend
  from geomstats.geometry.riemannian_metric import RiemannianMetric
  from geomstats.numerics.geodesic import ExpODESolver, LogShootingSolver
  from geomstats.numerics.ivp import GSIVPIntegrator
  from geomstats.vectorization import check_is_batch
label_desc: Use image node_id 3 for calling the PullbackDiffeoMetric obj's underlying member method code with example usage: obj.inner_product(tangent_vec_a, tangent_vec_b, base_point) and returns: self