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: Sample in GL(n) from the normal distribution.
  
  Parameters
  ----------
  n_samples : int
      Number of samples.
      Optional, default: 1.
  bound: float
      This parameter is ignored
  n_iter : int
      Maximum number of trials to sample a matrix with positive det.
      Optional, default: 100.
  
  Returns
  -------
  samples : array-like, shape=[..., n, n]
      Point sampled on GL(n).
docstr_tok: ["Sample","in","GL","(","n",")","from","the","normal","distribution",".","Parameters","--","--","--","--","--","n_samples",":","int","Number","of","samples",".","Optional",",","default",":","1.","bound",":","float","This","parameter","is","ignored","n_iter",":","int","Maximum","number","of","trials","to","sample","a","matrix","with","positive","det",".","Optional",",","default",":","100",".","Returns","--","--","--","-","samples",":","array-like",",","shape=","[","...",",","n",",","n","]","Point","sampled","on","GL","(","n",")","."]
code: def random_point(self, n_samples=1, bound=1.0, n_iter=100):
      """Sample in GL(n) from the normal distribution.
  
      Parameters
      ----------
      n_samples : int
          Number of samples.
          Optional, default: 1.
      bound: float
          This parameter is ignored
      n_iter : int
          Maximum number of trials to sample a matrix with positive det.
          Optional, default: 100.
  
      Returns
      -------
      samples : array-like, shape=[..., n, n]
          Point sampled on GL(n).
      """
      n = self.n
      sample = []
      n_accepted, iteration = 0, 0
      criterion_func = (lambda x: x) if self.positive_det else gs.abs
      while n_accepted < n_samples and iteration < n_iter:
          raw_samples = gs.random.normal(
              size=(n_samples - n_accepted, n, n)
          )
          dets = gs.linalg.det(raw_samples)
          criterion = criterion_func(dets) > gs.atol
          if gs.any(criterion):
              sample.append(raw_samples[criterion])
              n_accepted += gs.sum(criterion)
          iteration += 1
      if n_samples == 1:
          return sample[0][0]
      return gs.concatenate(sample)
  
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 5 for calling the GeneralLinear obj's underlying member method code with example usage: obj.random_point(n_samples, bound, n_iter) and returns: gs, sample