class_docstr: Class for :math:`R_*^{n\times k}` matrices of dimension n x k and full rank.
  
  Parameters
  ----------
  n : int
      Integer representing the shape of the matrices: n x k
  k : int
      Integer representing the shape of the matrices: n x k
docstr: Sample in :math:`R_*^{n\times k}` from a 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 full rank.
      Optional, default: 100.
  
  Returns
  -------
  samples : array-like, shape=[..., n, k]
      Point sampled on :math:`R_*^{n\times k}`.
docstr_tok: ["Sample","in",":","math",":","`","R_","*","^","{","n\\times","k","}","`","from","a","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","full","rank",".","Optional",",","default",":","100",".","Returns","--","--","--","-","samples",":","array-like",",","shape=","[","...",",","n",",","k","]","Point","sampled","on",":","math",":","`","R_","*","^","{","n\\times","k","}","`","."]
code: def random_point(self, n_samples=1, bound=1.0, n_iter=100):
      r"""Sample in :math:`R_*^{n\times k}` from a 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 full rank.
          Optional, default: 100.
  
      Returns
      -------
      samples : array-like, shape=[..., n, k]
          Point sampled on :math:`R_*^{n\times k}`.
      """
      sample = []
      n_accepted, iteration = 0, 0
      while n_accepted < n_samples and iteration < n_iter:
          raw_samples = gs.random.normal(
              size=(n_samples - n_accepted, self.n, self.k)
          )
          ranks = gs.linalg.matrix_rank(raw_samples)
          selected = ranks == self.rank
          sample.append(raw_samples[selected])
          n_accepted += gs.sum(selected)
          iteration += 1
      if n_samples == 1:
          return sample[0][0]
      return gs.concatenate(sample)
  
file_path: geomstats/geomstats/geometry/full_rank_matrices.py
imports: import geomstats.backend
  from geomstats.geometry.base import VectorSpaceOpenSet
  from geomstats.geometry.matrices import Matrices, MatricesMetric
label_desc: Use image node_id 5 for calling the FullRankMatrices obj's underlying member method code with example usage: obj.random_point(n_samples, bound, n_iter) and returns: gs, sample