class_docstr: Class for invariant metrics on Lie groups represented by vectors.
  
  Parameters
  ----------
  space : LieGroup
      Group to equip with the invariant metric
  left : bool
      Whether to use a left or right invariant metric.
      Optional, default: True.
class_docstr_tok: ["Class","for","invariant","metrics","on","Lie","groups","represented","by","vectors",".","Parameters","--","--","--","--","--","space",":","LieGroup","Group","to","equip","with","the","invariant","metric","left",":","bool","Whether","to","use","a","left","or","right","invariant","metric",".","Optional",",","default",":","True","."]
docstr: Compute Riemannian exponential of tan. vector wrt to base point.
  
  Parameters
  ----------
  tangent_vec : array-like, shape=[..., dim]
      Tangent vector at a base point.
  base_point : array-like, shape=[..., dim]
      Point in the group.
      Optional, defaults to identity if None.
  
  Returns
  -------
  exp : array-like, shape=[..., dim]
      Point in the group equal to the Riemannian exponential
      of tangent_vec at the base point.
code: def exp(self, tangent_vec, base_point=None, **kwargs):
      """Compute Riemannian exponential of tan. vector wrt to base point.
  
      Parameters
      ----------
      tangent_vec : array-like, shape=[..., dim]
          Tangent vector at a base point.
      base_point : array-like, shape=[..., dim]
          Point in the group.
          Optional, defaults to identity if None.
  
      Returns
      -------
      exp : array-like, shape=[..., dim]
          Point in the group equal to the Riemannian exponential
          of tangent_vec at the base point.
      """
      identity = self._space.identity
  
      if base_point is None:
          base_point = identity
      else:
          base_point = self._space.regularize(base_point)
  
      if gs.allclose(base_point, identity):
          return self.exp_from_identity(tangent_vec)
  
      tangent_vec_at_id = self._space.tangent_translation_map(
          point=base_point, left=self.left, inverse=True
      )(tangent_vec)
      exp_from_id = self.exp_from_identity(tangent_vec_at_id)
  
      if self.left:
          exp = self._space.compose(base_point, exp_from_id)
  
      else:
          exp = self._space.compose(exp_from_id, base_point)
  
      return self._space.regularize(exp)
  
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 6 for calling the _InvariantMetricVector obj's underlying member method code with example usage: obj.exp(tangent_vec, base_point) and returns: self, self