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: Convert point from spherical to extrinsic coordinates.
  
  Convert from the spherical coordinates in the hypersphere
  to the extrinsic coordinates in Euclidean space.
  Spherical coordinates are defined from the north pole, i.e. that
  angles [0., 0.] correspond to point [0., 0., 1.].
  Only implemented in dimension 2.
  
  Parameters
  ----------
  point_spherical : array-like, shape=[..., 2]
      Point on the sphere, in spherical coordinates.
  
  Returns
  -------
  point_extrinsic : array_like, shape=[..., 3]
      Point on the sphere, in extrinsic coordinates in Euclidean space.
docstr_tok: ["Convert","point","from","spherical","to","extrinsic","coordinates",".","Convert","from","the","spherical","coordinates","in","the","hypersphere","to","the","extrinsic","coordinates","in","Euclidean","space",".","Spherical","coordinates","are","defined","from","the","north","pole",",","i.e",".","that","angles","[","0.",",","0",".","]","correspond","to","point","[","0.",",","0.",",","1.","]",".","Only","implemented","in","dimension","2",".","Parameters","--","--","--","--","--","point_spherical",":","array-like",",","shape=","[","...",",","2","]","Point","on","the","sphere",",","in","spherical","coordinates",".","Returns","--","--","--","-","point_extrinsic",":","array_like",",","shape=","[","...",",","3","]","Point","on","the","sphere",",","in","extrinsic","coordinates","in","Euclidean","space","."]
code: def spherical_to_extrinsic(self, point_spherical):
      """Convert point from spherical to extrinsic coordinates.
  
      Convert from the spherical coordinates in the hypersphere
      to the extrinsic coordinates in Euclidean space.
      Spherical coordinates are defined from the north pole, i.e. that
      angles [0., 0.] correspond to point [0., 0., 1.].
      Only implemented in dimension 2.
  
      Parameters
      ----------
      point_spherical : array-like, shape=[..., 2]
          Point on the sphere, in spherical coordinates.
  
      Returns
      -------
      point_extrinsic : array_like, shape=[..., 3]
          Point on the sphere, in extrinsic coordinates in Euclidean space.
      """
      theta = point_spherical[..., 0]
      phi = point_spherical[..., 1]
  
      point_extrinsic = gs.stack(
          [
              gs.sin(theta) * gs.cos(phi),
              gs.sin(theta) * gs.sin(phi),
              gs.cos(theta),
          ],
          axis=-1,
      )
  
      return point_extrinsic
  
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 10 for calling the _Hypersphere obj's underlying member method code with example usage: obj.spherical_to_extrinsic(point_spherical) and returns: point_extrinsic