class_docstr: Class for bi-invariant metrics on compact Lie groups.
  
  Compact Lie groups and direct products of compact Lie groups with vector
  spaces admit bi-invariant metrics [Gallier]_. Products Lie groups are not
  implemented. Other groups such as SE(3) admit bi-invariant pseudo-metrics.
  
  Parameters
  ----------
  space : LieGroup
      The group to equip with the bi-invariant metric
  
  References
  ----------
  .. [Gallier] Gallier, Jean, and Jocelyn Quaintance. Differential Geometry
      and Lie Groups: A Computational Perspective.
      Geonger International Publishing, 2020.
      https://doi.org/10.1007/978-3-030-46040-2.
class_docstr_tok: ["Class","for","bi-invariant","metrics","on","compact","Lie","groups",".","Compact","Lie","groups","and","direct","products","of","compact","Lie","groups","with","vector","spaces","admit","bi-invariant","metrics","[","Gallier","]","_",".","Products","Lie","groups","are","not","implemented",".","Other","groups","such","as","SE","(","3",")","admit","bi-invariant","pseudo-metrics",".","Parameters","--","--","--","--","--","space",":","LieGroup","The","group","to","equip","with","the","bi-invariant","metric","References","--","--","--","--","--","..","[","Gallier","]","Gallier",",","Jean",",","and","Jocelyn","Quaintance",".","Differential","Geometry","and","Lie","Groups",":","A","Computational","Perspective",".","Geonger","International","Publishing",",","2020.","https",":","\/\/doi.org\/10.1007\/978-3-030-46040-2","."]
docstr: Compute inner product at tangent space at identity.
  
  Parameters
  ----------
  tangent_vec_a : array-like, shape=[..., {dim, [n, n]}]
      First tangent vector at identity.
  tangent_vec_b : array-like, shape=[..., {dim, [n, n]}]
      Second tangent vector at identity.
  
  Returns
  -------
  inner_prod : array-like, shape=[...]
      Inner-product of the two tangent vectors.
code: def inner_product_at_identity(self, tangent_vec_a, tangent_vec_b):
      """Compute inner product at tangent space at identity.
  
      Parameters
      ----------
      tangent_vec_a : array-like, shape=[..., {dim, [n, n]}]
          First tangent vector at identity.
      tangent_vec_b : array-like, shape=[..., {dim, [n, n]}]
          Second tangent vector at identity.
  
      Returns
      -------
      inner_prod : array-like, shape=[...]
          Inner-product of the two tangent vectors.
      """
      if self._space.default_point_type == "vector":
          return gs.dot(tangent_vec_a, tangent_vec_b)
  
      return (
          Matrices.frobenius_product(tangent_vec_a, tangent_vec_b) / 2
      )
  
imports: import geomstats.backend
  from geomstats.geometry.matrices import Matrices
  from geomstats.geometry.riemannian_metric import RiemannianMetric
  from geomstats.integrator import integrate
  from geomstats.numerics.geodesic import ExpODESolver, LogShootingSolver
  from geomstats.numerics.ivp import GSIVPIntegrator
  from geomstats.vectorization import repeat_out
label_desc: Use image node_id 5 for calling the BiInvariantMetric obj's underlying member method code with example usage: obj.inner_product_at_identity(tangent_vec_a, tangent_vec_b) and returns: unknown, gs