code: def sparse_initalize_heap_from_graph_indices(
      heap, graph_indices, data_indptr, data_indices, data_vals, metric
  ):
      for i in numba.prange(graph_indices.shape[0]):
          for idx in range(graph_indices.shape[1]):
              j = graph_indices[i, idx]
              ind1 = data_indices[data_indptr[i] : data_indptr[i + 1]]
              data1 = data_vals[data_indptr[i] : data_indptr[i + 1]]
              ind2 = data_indices[data_indptr[j] : data_indptr[j + 1]]
              data2 = data_vals[data_indptr[j] : data_indptr[j + 1]]
              d = metric(ind1, data1, ind2, data2)
              checked_flagged_heap_push(
                  heap[1][i], heap[0][i], heap[2][i], d, j, 1
              )
  
      return heap
  
imports: import time
  import numba
  from numba.core import types
  import numba.experimental.structref
  import numpy
label_desc: Use image node_id 22 for calling a global function with example usage: sparse_initalize_heap_from_graph_indices(heap, graph_indices, data_indptr, data_indices, data_vals, metric) and returns: heap