class_docstr: Class for Cholesky metric on Cholesky space.
  
  References
  ----------
  .. [TP2019] . "Riemannian Geometry of Symmetric
      Positive Definite Matrices Via Cholesky Decomposition"
      SIAM journal on Matrix Analysis and Applications , 2019.
      https://arxiv.org/abs/1908.09326
class_docstr_tok: ["Class","for","Cholesky","metric","on","Cholesky","space",".","References","--","--","--","--","--","..","[","TP2019","]",".","``","Riemannian","Geometry","of","Symmetric","Positive","Definite","Matrices","Via","Cholesky","Decomposition","''","SIAM","journal","on","Matrix","Analysis","and","Applications",",","2019.","https",":","\/\/arxiv.org\/abs\/1908.09326"]
docstr: Compute the inner product using only diagonal elements.
  
  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
  -------
  ip_diagonal : array-like, shape=[...]
      Inner-product.
docstr_tok: ["Compute","the","inner","product","using","only","diagonal","elements",".","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","--","--","--","-","ip_diagonal",":","array-like",",","shape=","[","...","]","Inner-product","."]
code: def diag_inner_product(tangent_vec_a, tangent_vec_b, base_point):
      """Compute the inner product using only diagonal elements.
  
      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
      -------
      ip_diagonal : array-like, shape=[...]
          Inner-product.
      """
      inv_sqrt_diagonal = gs.power(Matrices.diagonal(base_point), -2)
      tangent_vec_a_diagonal = Matrices.diagonal(tangent_vec_a)
      tangent_vec_b_diagonal = Matrices.diagonal(tangent_vec_b)
      prod = (
          tangent_vec_a_diagonal
          * tangent_vec_b_diagonal
          * inv_sqrt_diagonal
      )
      return gs.sum(prod, axis=-1)
  
imports: import geomstats.backend
  from geomstats.geometry.base import DiffeomorphicManifold, VectorSpaceOpenSet
  from geomstats.geometry.diffeo import Diffeo
  from geomstats.geometry.invariant_metric import _InvariantMetricMatrix
  from geomstats.geometry.lie_group import MatrixLieGroup
  from geomstats.geometry.lower_triangular_matrices import LowerTriangularMatrices
  from geomstats.geometry.matrices import Matrices
  from geomstats.geometry.open_hemisphere import OpenHemisphere, OpenHemispheresProduct
  from geomstats.geometry.pullback_metric import PullbackDiffeoMetric
  from geomstats.geometry.riemannian_metric import RiemannianMetric
label_desc: Use image node_id 1 for calling the CholeskyMetric obj's underlying member method code with example usage: obj.diag_inner_product(tangent_vec_a, tangent_vec_b, base_point) and returns: gs