class_docstr: Class for the affine-invariant metric on the HPD manifold.
docstr: Compute the affine-invariant inner-product.
  
  Compute the inner-product of tangent_vec_a and tangent_vec_b
  at point base_point using the affine invariant Riemannian metric.
  
  Parameters
  ----------
  tangent_vec_a : array-like, shape=[..., n, n]
      Tangent vector at base point.
  tangent_vec_b : array-like, shape=[..., n, n]
      Tangent vector at base point.
  base_point : array-like, shape=[..., n, n]
      Base point.
  
  Returns
  -------
  inner_product : array-like, shape=[..., n, n]
      Inner-product.
docstr_tok: ["Compute","the","affine-invariant","inner-product",".","Compute","the","inner-product","of","tangent_vec_a","and","tangent_vec_b","at","point","base_point","using","the","affine","invariant","Riemannian","metric",".","Parameters","--","--","--","--","--","tangent_vec_a",":","array-like",",","shape=","[","...",",","n",",","n","]","Tangent","vector","at","base","point",".","tangent_vec_b",":","array-like",",","shape=","[","...",",","n",",","n","]","Tangent","vector","at","base","point",".","base_point",":","array-like",",","shape=","[","...",",","n",",","n","]","Base","point",".","Returns","--","--","--","-","inner_product",":","array-like",",","shape=","[","...",",","n",",","n","]","Inner-product","."]
code: def inner_product(self, tangent_vec_a, tangent_vec_b, base_point):
      """Compute the affine-invariant inner-product.
  
      Compute the inner-product of tangent_vec_a and tangent_vec_b
      at point base_point using the affine invariant Riemannian metric.
  
      Parameters
      ----------
      tangent_vec_a : array-like, shape=[..., n, n]
          Tangent vector at base point.
      tangent_vec_b : array-like, shape=[..., n, n]
          Tangent vector at base point.
      base_point : array-like, shape=[..., n, n]
          Base point.
  
      Returns
      -------
      inner_product : array-like, shape=[..., n, n]
          Inner-product.
      """
      inv_base_point = GeneralLinear.inverse(base_point)
      aux_a = Matrices.mul(inv_base_point, tangent_vec_a)
      aux_b = Matrices.mul(inv_base_point, tangent_vec_b)
  
      return Matrices.trace_product(aux_a, aux_b)
  
imports: import math
  import geomstats.backend
  from geomstats.geometry.base import ComplexVectorSpaceOpenSet
  from geomstats.geometry.complex_matrices import ComplexMatrices, ComplexMatricesMetric
  from geomstats.geometry.complex_riemannian_metric import ComplexRiemannianMetric
  from geomstats.geometry.general_linear import GeneralLinear
  from geomstats.geometry.hermitian_matrices import HermitianMatrices, expmh, powermh
  from geomstats.geometry.matrices import Matrices
  from geomstats.geometry.pullback_metric import PullbackDiffeoMetric
  from geomstats.geometry.spd_matrices import SymMatrixLog, logmh
  from geomstats.integrator import integrate
  from geomstats.vectorization import repeat_out
label_desc: Use image node_id 1 for calling the HPDAffineMetric obj's underlying member method code with example usage: obj.inner_product(tangent_vec_a, tangent_vec_b, base_point) and returns: Matrices