class_docstr: Class for the complex Poincaré metric.
class_docstr_tok: ["Class","for","the","complex","Poincar\u00e9","metric","."]
docstr: Compute the complex Poincaré disk exponential map.
  
  Parameters
  ----------
  tangent_vec : array-like, shape=[..., 1]
      Tangent vector at base point.
  base_point : array-like, shape=[..., 1]
      Base point.
  
  Returns
  -------
  exp : array-like, shape=[..., 1]
      Riemannian exponential.
docstr_tok: ["Compute","the","complex","Poincar\u00e9","disk","exponential","map",".","Parameters","--","--","--","--","--","tangent_vec",":","array-like",",","shape=","[","...",",","1","]","Tangent","vector","at","base","point",".","base_point",":","array-like",",","shape=","[","...",",","1","]","Base","point",".","Returns","--","--","--","-","exp",":","array-like",",","shape=","[","...",",","1","]","Riemannian","exponential","."]
code: def exp(tangent_vec, base_point):
      """Compute the complex Poincaré disk exponential map.
  
      Parameters
      ----------
      tangent_vec : array-like, shape=[..., 1]
          Tangent vector at base point.
      base_point : array-like, shape=[..., 1]
          Base point.
  
      Returns
      -------
      exp : array-like, shape=[..., 1]
          Riemannian exponential.
      """
      base_point, tangent_vec = gs.broadcast_arrays(
          base_point, tangent_vec
      )
  
      theta = gs.angle(tangent_vec)
      s = 2 * gs.abs(tangent_vec) / (1 - gs.abs(base_point) ** 2)
  
      exp_i_theta = gs.exp(1j * theta)
      exp_minus_s = gs.exp(-s)
  
      num = (
          base_point
          + exp_i_theta
          + (base_point - exp_i_theta) * exp_minus_s
      )
      den = (
          1
          + gs.conj(base_point) * exp_i_theta
          + (1 - gs.conj(base_point) * exp_i_theta) * exp_minus_s
      )
      return num / den
  
file_path: geomstats/geomstats/geometry/complex_poincare_disk.py
imports: import geomstats.backend
  from geomstats.geometry.base import ComplexVectorSpaceOpenSet
  from geomstats.geometry.complex_riemannian_metric import ComplexRiemannianMetric
  from geomstats.geometry.hermitian import Hermitian
label_desc: Use image node_id 2 for calling the ComplexPoincareDiskMetric obj's underlying member method code with example usage: obj.exp(tangent_vec, base_point) and returns: unknown