class_docstr: Class for the general linear group GL(n) and its identity component.
  
  If `positive_det=True`, this is the connected component of the identity,
  i.e. the space of matrices with positive determinant.
  
  Parameters
  ----------
  n : int
      Integer representing the shape of the matrices: n x n.
  positive_det : bool
      Whether to restrict to the identity connected component of the
      general linear group, i.e. matrices with positive determinant.
      Optional, default: False.
docstr: Compute the one-parameter orbit of base_point passing through point.
  
  Parameters
  ----------
  point : array-like, shape=[..., n, n]
      Target point.
  base_point : array-like, shape=[..., n, n], optional
      Base point.
      Optional, defaults to identity if None.
  
  Returns
  -------
  path : callable
      One-parameter orbit.
      Satisfies `path(0) = base_point` and `path(1) = point`.
  
  Notes
  -----
  Denoting `point` by :math:`g` and `base_point` by :math:`h`,
  the orbit :math:`\gamma` satisfies:
  
  .. math::
  
      \gamma(t) = {\mathrm e}^{t X} \cdot h \\
      \quad \text{with} \quad\\
      {\mathrm e}^{X} = g h^{-1}
  
  The path is not uniquely defined and depends on the choice of :math:`V`
  returned by :py:meth:`log`.
  
  Vectorization
  -------------
  Return a collection of trajectories (4-D array)
  from a collection of input matrices (3-D array).
docstr_tok: ["Compute","the","one-parameter","orbit","of","base_point","passing","through","point",".","Parameters","--","--","--","--","--","point",":","array-like",",","shape=","[","...",",","n",",","n","]","Target","point",".","base_point",":","array-like",",","shape=","[","...",",","n",",","n","]",",","optional","Base","point",".","Optional",",","defaults","to","identity","if","None",".","Returns","--","--","--","-","path",":","callable","One-parameter","orbit",".","Satisfies","`","path","(","0",")","=","base_point","`","and","`","path","(","1",")","=","point","`",".","Notes","--","--","-","Denoting","`","point","`","by",":","math",":","`","g","`","and","`","base_point","`","by",":","math",":","`","h","`",",","the","orbit",":","math",":","`","\\gamma","`","satisfies",":","..","math",":",":","\\gamma","(","t",")","=","{","\\mathrm","e","}","^","{","t","X","}","\\cdot","h","\\\\","\\quad","\\text","{","with","}","\\quad\\\\","{","\\mathrm","e","}","^","{","X","}","=","g","h^","{","-1","}","The","path","is","not","uniquely","defined","and","depends","on","the","choice","of",":","math",":","`","V","`","returned","by",":","py",":","meth",":","`","log","`",".","Vectorization","--","--","--","--","--","--","-","Return","a","collection","of","trajectories","(","4-D","array",")","from","a","collection","of","input","matrices","(","3-D","array",")","."]
code: def orbit(cls, point, base_point=None):
      r"""
          Compute the one-parameter orbit of base_point passing through point.
  
          Parameters
          ----------
          point : array-like, shape=[..., n, n]
              Target point.
          base_point : array-like, shape=[..., n, n], optional
              Base point.
              Optional, defaults to identity if None.
  
          Returns
          -------
          path : callable
              One-parameter orbit.
              Satisfies `path(0) = base_point` and `path(1) = point`.
  
          Notes
          -----
          Denoting `point` by :math:`g` and `base_point` by :math:`h`,
          the orbit :math:`\gamma` satisfies:
  
          .. math::
  
              \gamma(t) = {\mathrm e}^{t X} \cdot h \\
              \quad \text{with} \quad\\
              {\mathrm e}^{X} = g h^{-1}
  
          The path is not uniquely defined and depends on the choice of :math:`V`
          returned by :py:meth:`log`.
  
          Vectorization
          -------------
          Return a collection of trajectories (4-D array)
          from a collection of input matrices (3-D array).
          """
      tangent_vec = cls.log(point, base_point)
  
      if base_point is not None and gs.ndim(base_point) < gs.ndim(
          tangent_vec
      ):
          base_point = gs.broadcast_to(base_point, tangent_vec.shape)
      is_vec = gs.ndim(tangent_vec) > 2
  
      def path(time):
          vecs = gs.einsum("t,...ij->...tij", time, tangent_vec)
          if is_vec and base_point is None:
              return gs.stack([cls.exp(vecs_) for vecs_ in vecs])
  
          if is_vec:
              return gs.stack(
                  [
                      cls.exp(vecs_, base_point_)
                      for vecs_, base_point_ in zip(vecs, base_point)
                  ]
              )
  
          return cls.exp(vecs, base_point)
  
      return path
  
imports: import geomstats.algebra_utils
  import geomstats.backend
  from geomstats.geometry.base import VectorSpaceOpenSet
  from geomstats.geometry.lie_algebra import MatrixLieAlgebra
  from geomstats.geometry.lie_group import MatrixLieGroup
  from geomstats.geometry.matrices import Matrices, MatricesMetric
label_desc: Use image node_id 6 for calling the GeneralLinear obj's underlying member method code with example usage: obj.orbit(cls, point, base_point) and returns: path, cls, gs, gs