code: def grad_squared_distance(point_a, point_b):
      """Gradient of squared hyperbolic distance.
  
      Gradient of the squared distance based on the
      Ball representation according to point_a
  
      Parameters
      ----------
      point_a : array-like, shape=[n_samples, dim]
          First point in hyperbolic space.
      point_b : array-like, shape=[n_samples, dim]
          Second point in hyperbolic space.
  
      Returns
      -------
      dist : array-like, shape=[n_samples, 1]
          Geodesic squared distance between the two points.
      """
      hyperbolic_metric = PoincareBall(2).metric
      log_map = hyperbolic_metric.log(point_b, point_a)
  
      return -2 * log_map
  
file_path: geomstats/examples/learning_graph_structured_data_h2.py
imports: import logging
  import matplotlib.pyplot
  import geomstats.backend
  import geomstats.visualization
  from geomstats.datasets.utils import load_karate_graph
  from geomstats.geometry.poincare_ball import PoincareBall
label_desc: Use image node_id 3 for calling a global function with example usage: grad_squared_distance(point_a, point_b) and returns: unknown