class_docstr: Private class for the n-dimensional hypersphere.
  
  Class for the n-dimensional hypersphere embedded in the
  (n+1)-dimensional Euclidean space.
  
  By default, points are parameterized by their extrinsic
  (n+1)-coordinates. For dimensions 1 and 2, this can be changed with the
  `default_coords_type` parameter. For dimensions 1 (the circle),
  the intrinsic coordinates correspond angles in radians, with 0. mapping
  to point [1., 0.]. For dimension 2, the intrinsic coordinates are the
  spherical coordinates from the north pole, i.e. where angles [0., 0.]
  correspond to point [0., 0., 1.].
  
  Parameters
  ----------
  dim : int
      Dimension of the hypersphere.
  
  default_coords_type : str, {'extrinsic', 'intrinsic'}
      Type of representation for dimensions 1 and 2.
docstr: Project a vector to the tangent space.
  
  Project a vector in Euclidean space
  on the tangent space of the hypersphere at a base point.
  
  Parameters
  ----------
  vector : array-like, shape=[..., dim + 1]
      Vector in Euclidean space.
  base_point : array-like, shape=[..., dim + 1]
      Point on the hypersphere defining the tangent space,
      where the vector will be projected.
  
  Returns
  -------
  tangent_vec : array-like, shape=[..., dim + 1]
      Tangent vector in the tangent space of the hypersphere
      at the base point.
docstr_tok: ["Project","a","vector","to","the","tangent","space",".","Project","a","vector","in","Euclidean","space","on","the","tangent","space","of","the","hypersphere","at","a","base","point",".","Parameters","--","--","--","--","--","vector",":","array-like",",","shape=","[","...",",","dim","+","1","]","Vector","in","Euclidean","space",".","base_point",":","array-like",",","shape=","[","...",",","dim","+","1","]","Point","on","the","hypersphere","defining","the","tangent","space",",","where","the","vector","will","be","projected",".","Returns","--","--","--","-","tangent_vec",":","array-like",",","shape=","[","...",",","dim","+","1","]","Tangent","vector","in","the","tangent","space","of","the","hypersphere","at","the","base","point","."]
code: def to_tangent(self, vector, base_point):
      """Project a vector to the tangent space.
  
      Project a vector in Euclidean space
      on the tangent space of the hypersphere at a base point.
  
      Parameters
      ----------
      vector : array-like, shape=[..., dim + 1]
          Vector in Euclidean space.
      base_point : array-like, shape=[..., dim + 1]
          Point on the hypersphere defining the tangent space,
          where the vector will be projected.
  
      Returns
      -------
      tangent_vec : array-like, shape=[..., dim + 1]
          Tangent vector in the tangent space of the hypersphere
          at the base point.
      """
      sq_norm = gs.sum(base_point**2, axis=-1)
      inner_prod = self.embedding_space.metric.inner_product(
          base_point, vector
      )
      coef = inner_prod / sq_norm
      return vector - gs.einsum("...,...j->...j", coef, base_point)
  
imports: import logging
  import math
  from itertools import product
  from scipy.stats import beta
  import geomstats.algebra_utils
  import geomstats.backend
  from geomstats.geometry.base import LevelSet
  from geomstats.geometry.euclidean import Euclidean
  from geomstats.geometry.riemannian_metric import RiemannianMetric
  from geomstats.vectorization import get_batch_shape, repeat_out
label_desc: Use image node_id 7 for calling the _Hypersphere obj's underlying member method code with example usage: obj.to_tangent(vector, base_point) and returns: unknown