class_docstr: Class for Lie groups.
  
  In this class, point_type ('vector' or 'matrix') will be used to describe
  the format of the points on the Lie group.
  If point_type is 'vector', the format of the inputs is
  [..., dimension], where dimension is the dimension of the Lie group.
  If point_type is 'matrix' the format of the inputs is
  [..., n, n] where n is the parameter of GL(n) e.g. the amount of rows
  and columns of the matrix.
  
  Parameters
  ----------
  dim : int
      Dimension of the Lie group.
  lie_algebra : MatrixLieAlgebra
      Lie algebra for matrix groups.
      Optional, default: None.
  
  Attributes
  ----------
  lie_algebra : MatrixLieAlgebra or None
      Tangent space at the identity.
docstr: Project a vector onto the tangent space at a base point.
  
  Parameters
  ----------
  vector : array-like, shape=[..., {dim, [n, n]}]
      Vector to project. Its shape must match the shape of base_point.
  base_point : array-like, shape=[..., {dim, [n, n]}], optional
      Point of the group.
      Optional, default: identity.
  
  Returns
  -------
  tangent_vec : array-like, shape=[..., n, n]
      Tangent vector at base point.
docstr_tok: ["Project","a","vector","onto","the","tangent","space","at","a","base","point",".","Parameters","--","--","--","--","--","vector",":","array-like",",","shape=","[","...",",","{","dim",",","[","n",",","n","]","}","]","Vector","to","project",".","Its","shape","must","match","the","shape","of","base_point",".","base_point",":","array-like",",","shape=","[","...",",","{","dim",",","[","n",",","n","]","}","]",",","optional","Point","of","the","group",".","Optional",",","default",":","identity",".","Returns","--","--","--","-","tangent_vec",":","array-like",",","shape=","[","...",",","n",",","n","]","Tangent","vector","at","base","point","."]
code: def to_tangent(self, vector, base_point=None):
      """Project a vector onto the tangent space at a base point.
  
      Parameters
      ----------
      vector : array-like, shape=[..., {dim, [n, n]}]
          Vector to project. Its shape must match the shape of base_point.
      base_point : array-like, shape=[..., {dim, [n, n]}], optional
          Point of the group.
          Optional, default: identity.
  
      Returns
      -------
      tangent_vec : array-like, shape=[..., n, n]
          Tangent vector at base point.
      """
      if base_point is None:
          return self.lie_algebra.projection(vector)
      tangent_vec_at_id = self.compose(self.inverse(base_point), vector)
      regularized = self.lie_algebra.projection(tangent_vec_at_id)
      return self.compose(base_point, regularized)
  
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 16 for calling the LieGroup obj's underlying member method code with example usage: obj.to_tangent(vector, base_point) and returns: self, self