class_docstr: Class for the Siegel space.
  
  Parameters
  ----------
  n : int
      Integer representing the shape of the matrices: n x n.
  symmetric : bool
      If symmetric is True, add a symmetry condition
      on the matrices to belong to the Siegel space.
      Optional, default: False.
class_docstr_tok: ["Class","for","the","Siegel","space",".","Parameters","--","--","--","--","--","n",":","int","Integer","representing","the","shape","of","the","matrices",":","n","x","n.","symmetric",":","bool","If","symmetric","is","True",",","add","a","symmetry","condition","on","the","matrices","to","belong","to","the","Siegel","space",".","Optional",",","default",":","False","."]
docstr: Generate random points in the Siegel space.
  
  The Siegel space is the set of complex matrices of singular values
  strictly lower than one.
  The Frobenius norm of a matrix is greater than or equal to the spectral norm
  which corresponds to the largest singular value of a matrix.
  Then, simulating a matrix with Frobenius norm strictly lower than one,
  its singular values are also strictly lower than one,
  therefore this matrix belongs to the Siegel disk.
  
  Parameters
  ----------
  n_samples : int
      Number of samples.
      Optional, default: 1.
  bound : float
      Bound of the interval in which to sample in the tangent space.
      Optional, default: 1.
  
  Returns
  -------
  samples : array-like, shape=[..., n, n]
      Points sampled in the Siegel space.
docstr_tok: ["Generate","random","points","in","the","Siegel","space",".","The","Siegel","space","is","the","set","of","complex","matrices","of","singular","values","strictly","lower","than","one",".","The","Frobenius","norm","of","a","matrix","is","greater","than","or","equal","to","the","spectral","norm","which","corresponds","to","the","largest","singular","value","of","a","matrix",".","Then",",","simulating","a","matrix","with","Frobenius","norm","strictly","lower","than","one",",","its","singular","values","are","also","strictly","lower","than","one",",","therefore","this","matrix","belongs","to","the","Siegel","disk",".","Parameters","--","--","--","--","--","n_samples",":","int","Number","of","samples",".","Optional",",","default",":","1.","bound",":","float","Bound","of","the","interval","in","which","to","sample","in","the","tangent","space",".","Optional",",","default",":","1",".","Returns","--","--","--","-","samples",":","array-like",",","shape=","[","...",",","n",",","n","]","Points","sampled","in","the","Siegel","space","."]
code: def random_point(self, n_samples=1, bound=1.0):
      """Generate random points in the Siegel space.
  
      The Siegel space is the set of complex matrices of singular values
      strictly lower than one.
      The Frobenius norm of a matrix is greater than or equal to the spectral norm
      which corresponds to the largest singular value of a matrix.
      Then, simulating a matrix with Frobenius norm strictly lower than one,
      its singular values are also strictly lower than one,
      therefore this matrix belongs to the Siegel disk.
  
      Parameters
      ----------
      n_samples : int
          Number of samples.
          Optional, default: 1.
      bound : float
          Bound of the interval in which to sample in the tangent space.
          Optional, default: 1.
  
      Returns
      -------
      samples : array-like, shape=[..., n, n]
          Points sampled in the Siegel space.
      """
      n = self.n
      size = (n_samples, n, n) if n_samples != 1 else (n, n)
  
      samples = gs.random.rand(*size, dtype=gs.get_default_cdtype())
      samples -= 0.5 + 0.5j
      samples *= bound * (1 - gs.atol) * 2**0.5 / n
      return samples
  
imports: import geomstats.backend
  from geomstats.geometry.base import ComplexVectorSpaceOpenSet
  from geomstats.geometry.complex_matrices import ComplexMatrices
  from geomstats.geometry.complex_riemannian_metric import ComplexRiemannianMetric
  from geomstats.geometry.hermitian_matrices import expmh, powermh
  from geomstats.geometry.matrices import Matrices
label_desc: Use image node_id 5 for calling the Siegel obj's underlying member method code with example usage: obj.random_point(n_samples, bound) and returns: samples