code: def test_poincare_ball_distance_exp(seeded):
      # d(0, exp_0(v)) is approximately 2||v||_2, for sufficiently short v
      for _ in range(100):
          c, _vs = _generate(0)
          _c, tangents = _generate(17, euclidean_max_norm=1e-10)
  
          tangent_lengths = np.linalg.norm(tangents, axis=-1)
  
          def check(x, y):
              d = poincare_ball_distance(c, x, y)
              assert d.shape == tangents.shape[:-1]
              np.testing.assert_allclose(
                  d, 2 * tangent_lengths, rtol=1e-3
              )
  
          zeros = np.zeros_like(tangents)
          zero_moved = poincare_ball_exp(c, None, tangents)
          assert zero_moved.shape == tangents.shape
          check(zeros, zero_moved)
          check(zero_moved, zeros)
  
file_path: stellargraph/tests/utils/test_hyperbolic.py
imports: import pytest
  import numpy
  from stellargraph.utils.hyperbolic import *
label_desc: Use image node_id 5 for calling a global function with example usage: test_poincare_ball_distance_exp(seeded) without return types