class_docstr: Class for the n-dimensional hyperbolic space.
  
  Common class for the n-dimensional hyperbolic space regardless the
  representation being used. This class gathers the change of coordinate
  methods that are common to all representations.
  
  This class cannot be instantiated in itself, but a public class
  `Hyperbolic` is available, that returns the class that corresponds to the
  chosen representation: Hyperboloid, Poincare Ball or Poincare Half-space.
class_docstr_tok: ["Class","for","the","n-dimensional","hyperbolic","space",".","Common","class","for","the","n-dimensional","hyperbolic","space","regardless","the","representation","being","used",".","This","class","gathers","the","change","of","coordinate","methods","that","are","common","to","all","representations",".","This","class","can","not","be","instantiated","in","itself",",","but","a","public","class","`","Hyperbolic","`","is","available",",","that","returns","the","class","that","corresponds","to","the","chosen","representation",":","Hyperboloid",",","Poincare","Ball","or","Poincare","Half-space","."]
docstr: Convert coordinates of a point.
  
  Convert the parameterization of a point in the hyperbolic space
  from current given coordinate system to an other also given in
  parameters. The possible coordinates system are 'extrinsic',
  'intrinsic', 'ball' and 'half-plane' that correspond respectivelly
  to extrinsic coordinates in the hyperboloid , intrinsic
  coordinates in the hyperboloid, ball coordinates in the Poincare
  ball model and coordinates in the Poincare upper half-plane model.
  
  Parameters
  ----------
  point : array-like, shape=[..., {dim, dim + 1}]
      Point in hyperbolic space.
  from_coordinates_system : str, {'extrinsic', 'intrinsic', etc}
      Coordinates type.
  to_coordinates_system : str, {'extrinsic', 'intrinsic', etc}
      Coordinates type.
  
  Returns
  -------
  point_to : array-like, shape=[..., dim]
                         or shape=[n_sample, dim + 1]
      Point in hyperbolic space in coordinates given by
      to_coordinates_system.
docstr_tok: ["Convert","coordinates","of","a","point",".","Convert","the","parameterization","of","a","point","in","the","hyperbolic","space","from","current","given","coordinate","system","to","an","other","also","given","in","parameters",".","The","possible","coordinates","system","are","'extrinsic","'",",","'intrinsic","'",",","'ball","'","and","'half-plane","'","that","correspond","respectivelly","to","extrinsic","coordinates","in","the","hyperboloid",",","intrinsic","coordinates","in","the","hyperboloid",",","ball","coordinates","in","the","Poincare","ball","model","and","coordinates","in","the","Poincare","upper","half-plane","model",".","Parameters","--","--","--","--","--","point",":","array-like",",","shape=","[","...",",","{","dim",",","dim","+","1","}","]","Point","in","hyperbolic","space",".","from_coordinates_system",":","str",",","{","'extrinsic","'",",","'intrinsic","'",",","etc","}","Coordinates","type",".","to_coordinates_system",":","str",",","{","'extrinsic","'",",","'intrinsic","'",",","etc","}","Coordinates","type",".","Returns","--","--","--","-","point_to",":","array-like",",","shape=","[","...",",","dim","]","or","shape=","[","n_sample",",","dim","+","1","]","Point","in","hyperbolic","space","in","coordinates","given","by","to_coordinates_system","."]
code: def change_coordinates_system(
      point, from_coordinates_system, to_coordinates_system
  ):
      """Convert coordinates of a point.
  
      Convert the parameterization of a point in the hyperbolic space
      from current given coordinate system to an other also given in
      parameters. The possible coordinates system are 'extrinsic',
      'intrinsic', 'ball' and 'half-plane' that correspond respectivelly
      to extrinsic coordinates in the hyperboloid , intrinsic
      coordinates in the hyperboloid, ball coordinates in the Poincare
      ball model and coordinates in the Poincare upper half-plane model.
  
      Parameters
      ----------
      point : array-like, shape=[..., {dim, dim + 1}]
          Point in hyperbolic space.
      from_coordinates_system : str, {'extrinsic', 'intrinsic', etc}
          Coordinates type.
      to_coordinates_system : str, {'extrinsic', 'intrinsic', etc}
          Coordinates type.
  
      Returns
      -------
      point_to : array-like, shape=[..., dim]
                             or shape=[n_sample, dim + 1]
          Point in hyperbolic space in coordinates given by
          to_coordinates_system.
      """
      coords_transform = {
          "ball-extrinsic": _Hyperbolic._ball_to_extrinsic_coordinates,
          "extrinsic-ball": _Hyperbolic._extrinsic_to_ball_coordinates,
          "ball-half-space": _Hyperbolic.ball_to_half_space_coordinates,
          "half-space-ball": _Hyperbolic.half_space_to_ball_coordinates,
          "intrinsic-extrinsic": _Hyperbolic._intrinsic_to_extrinsic_coordinates,
          "extrinsic-intrinsic": _Hyperbolic._extrinsic_to_intrinsic_coordinates,
          "extrinsic-half-space": _Hyperbolic._extrinsic_to_half_space_coordinates,
          "half-space-extrinsic": _Hyperbolic._half_space_to_extrinsic_coordinates,
      }
  
      if from_coordinates_system == to_coordinates_system:
          return gs.copy(point)
  
      func = coords_transform.get(
          f"{from_coordinates_system}-{to_coordinates_system}"
      )
      if func is not None:
          return func(point)
  
      extrinsic = coords_transform[
          f"{from_coordinates_system}-extrinsic"
      ](point)
      return coords_transform[f"extrinsic-{to_coordinates_system}"](
          extrinsic
      )
  
file_path: geomstats/geomstats/geometry/_hyperbolic.py
imports: import geomstats.backend
  from geomstats.geometry.riemannian_metric import RiemannianMetric
label_desc: Use image node_id 11 for calling the _Hyperbolic obj's underlying member method code with example usage: obj.change_coordinates_system(point, from_coordinates_system, to_coordinates_system) and returns: coords_transform, gs, func