code: def sparse_hellinger(ind1, data1, ind2, data2):
      aux_inds, aux_data = sparse_mul(ind1, data1, ind2, data2)
      result = 0.0
      norm1 = np.sum(data1)
      norm2 = np.sum(data2)
      sqrt_norm_prod = np.sqrt(norm1 * norm2)
  
      for i in range(aux_data.shape[0]):
          result += np.sqrt(aux_data[i])
  
      if norm1 == 0.0 and norm2 == 0.0:
          return 0.0
      elif norm1 == 0.0 or norm2 == 0.0:
          return 1.0
      elif result > sqrt_norm_prod:
          return 0.0
      else:
          return np.sqrt(1.0 - (result / sqrt_norm_prod))
  
imports: from __future__ import print_function
  import locale
  import numba
  import numpy
  from umap.utils import norm
label_desc: Use image node_id 25 for calling a global function with example usage: sparse_hellinger(ind1, data1, ind2, data2) and returns: int, int, int, np