class_docstr: Class for matrix Lie groups.
docstr: Exponentiate a left-invariant vector field from a base point.
  
  The vector input is not an element of the Lie algebra, but of the
  tangent space at base_point: if :math:`g` denotes `base_point`,
  :math:`v` the tangent vector, and :math:`V = g^{-1} v` the associated
  Lie algebra vector, then
  
  .. math::
  
      \exp(v, g) = mul(g, \exp(V))
  
  Therefore, the Lie exponential is obtained when base_point is None, or
  the identity.
  
  Parameters
  ----------
  tangent_vec : array-like, shape=[..., n, n]
      Tangent vector at base point.
  base_point : array-like, shape=[..., n, n]
      Base point.
      Optional, defaults to identity if None.
  
  Returns
  -------
  point : array-like, shape=[..., n, n]
      Left multiplication of `exp(algebra_mat)` with `base_point`.
docstr_tok: ["Exponentiate","a","left-invariant","vector","field","from","a","base","point",".","The","vector","input","is","not","an","element","of","the","Lie","algebra",",","but","of","the","tangent","space","at","base_point",":","if",":","math",":","`","g","`","denotes","`","base_point","`",",",":","math",":","`","v","`","the","tangent","vector",",","and",":","math",":","`","V","=","g^","{","-1","}","v","`","the","associated","Lie","algebra","vector",",","then","..","math",":",":","\\exp","(","v",",","g",")","=","mul","(","g",",","\\exp","(","V",")",")","Therefore",",","the","Lie","exponential","is","obtained","when","base_point","is","None",",","or","the","identity",".","Parameters","--","--","--","--","--","tangent_vec",":","array-like",",","shape=","[","...",",","n",",","n","]","Tangent","vector","at","base","point",".","base_point",":","array-like",",","shape=","[","...",",","n",",","n","]","Base","point",".","Optional",",","defaults","to","identity","if","None",".","Returns","--","--","--","-","point",":","array-like",",","shape=","[","...",",","n",",","n","]","Left","multiplication","of","`","exp","(","algebra_mat",")","`","with","`","base_point","`","."]
code: def exp(cls, tangent_vec, base_point=None):
      r"""
      Exponentiate a left-invariant vector field from a base point.
  
      The vector input is not an element of the Lie algebra, but of the
      tangent space at base_point: if :math:`g` denotes `base_point`,
      :math:`v` the tangent vector, and :math:`V = g^{-1} v` the associated
      Lie algebra vector, then
  
      .. math::
  
          \exp(v, g) = mul(g, \exp(V))
  
      Therefore, the Lie exponential is obtained when base_point is None, or
      the identity.
  
      Parameters
      ----------
      tangent_vec : array-like, shape=[..., n, n]
          Tangent vector at base point.
      base_point : array-like, shape=[..., n, n]
          Base point.
          Optional, defaults to identity if None.
  
      Returns
      -------
      point : array-like, shape=[..., n, n]
          Left multiplication of `exp(algebra_mat)` with `base_point`.
      """
      expm = gs.linalg.expm
      if base_point is None:
          return expm(tangent_vec)
      lie_algebra_vec = cls.compose(
          cls.inverse(base_point), tangent_vec
      )
      return cls.compose(base_point, cls.exp(lie_algebra_vec))
  
imports: import abc
  import geomstats.backend
  from geomstats.geometry.invariant_metric import InvariantMetric
  from geomstats.geometry.manifold import Manifold
  from geomstats.geometry.matrices import Matrices
label_desc: Use image node_id 9 for calling the MatrixLieGroup obj's underlying member method code with example usage: obj.exp(cls, tangent_vec, base_point) and returns: cls, expm