class_docstr: Class for Riemannian and pseudo-Riemannian metrics.
  
  The associated Levi-Civita connection on the tangent bundle.
class_docstr_tok: ["Class","for","Riemannian","and","pseudo-Riemannian","metrics",".","The","associated","Levi-Civita","connection","on","the","tangent","bundle","."]
docstr: Generate a random unit tangent vector at a given point.
  
  Parameters
  ----------
  base_point : array-like, shape=[..., dim]
      Point.
  n_vectors : float
      Number of vectors to be generated at base_point.
      For vectorization purposes n_vectors can be greater than 1 iff
      base_point consists of a single point.
  
  Returns
  -------
  normalized_vector : array-like, shape=[..., n_vectors, dim]
      Random unit tangent vector at base_point.
docstr_tok: ["Generate","a","random","unit","tangent","vector","at","a","given","point",".","Parameters","--","--","--","--","--","base_point",":","array-like",",","shape=","[","...",",","dim","]","Point",".","n_vectors",":","float","Number","of","vectors","to","be","generated","at","base_point",".","For","vectorization","purposes","n_vectors","can","be","greater","than","1","iff","base_point","consists","of","a","single","point",".","Returns","--","--","--","-","normalized_vector",":","array-like",",","shape=","[","...",",","n_vectors",",","dim","]","Random","unit","tangent","vector","at","base_point","."]
code: def random_unit_tangent_vec(self, base_point, n_vectors=1):
      """Generate a random unit tangent vector at a given point.
  
      Parameters
      ----------
      base_point : array-like, shape=[..., dim]
          Point.
      n_vectors : float
          Number of vectors to be generated at base_point.
          For vectorization purposes n_vectors can be greater than 1 iff
          base_point consists of a single point.
  
      Returns
      -------
      normalized_vector : array-like, shape=[..., n_vectors, dim]
          Random unit tangent vector at base_point.
      """
      is_batch = check_is_batch(self._space.point_ndim, base_point)
      if is_batch and n_vectors > 1:
          raise ValueError(
              "Several tangent vectors is only applicable to a single base point."
          )
      point_shape = self._space.shape
      vec_shape = (
          (n_vectors, *point_shape) if n_vectors > 1 else point_shape
      )
      random_vector = gs.random.rand(*vec_shape)
      return self.normalize(random_vector, base_point)
  
imports: from abc import ABC
  import joblib
  import geomstats.backend
  import geomstats.geometry
  from geomstats.geometry.connection import Connection
  from geomstats.vectorization import check_is_batch
label_desc: Use image node_id 14 for calling the RiemannianMetric obj's underlying member method code with example usage: obj.random_unit_tangent_vec(base_point, n_vectors) and returns: self