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: Sample on the tangent space of Siegel space from the uniform distribution.
  
  Parameters
  ----------
  n_samples : int
      Number of samples.
      Optional, default: 1.
  base_point : array-like, shape=[..., n, n]
      Base point of the tangent space.
      Optional, default: None.
  
  Returns
  -------
  samples : array-like, shape=[..., n, n]
      Points sampled in the tangent space at base_point.
docstr_tok: ["Sample","on","the","tangent","space","of","Siegel","space","from","the","uniform","distribution",".","Parameters","--","--","--","--","--","n_samples",":","int","Number","of","samples",".","Optional",",","default",":","1.","base_point",":","array-like",",","shape=","[","...",",","n",",","n","]","Base","point","of","the","tangent","space",".","Optional",",","default",":","None",".","Returns","--","--","--","-","samples",":","array-like",",","shape=","[","...",",","n",",","n","]","Points","sampled","in","the","tangent","space","at","base_point","."]
code: def random_tangent_vec(self, base_point, n_samples=1):
      """Sample on the tangent space of Siegel space from the uniform distribution.
  
      Parameters
      ----------
      n_samples : int
          Number of samples.
          Optional, default: 1.
      base_point : array-like, shape=[..., n, n]
          Base point of the tangent space.
          Optional, default: None.
  
      Returns
      -------
      samples : array-like, shape=[..., n, n]
          Points sampled in the tangent space at base_point.
      """
      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 *= 2
      samples -= 1 + 1j
  
      return self.to_tangent(samples, base_point)
  
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 6 for calling the Siegel obj's underlying member method code with example usage: obj.random_tangent_vec(base_point, n_samples) and returns: self