code: def adjacency_matrix_representation(
      neighbor_indices, neighbor_distances
  ):
      result = coo_matrix(
          (neighbor_indices.shape[0], neighbor_indices.shape[0]),
          dtype=np.float32,
      )
  
      # Preserve any distance 0 points
      neighbor_distances[neighbor_distances == 0.0] = FLOAT32_EPS
  
      result.row = np.repeat(
          np.arange(neighbor_indices.shape[0], dtype=np.int32),
          neighbor_indices.shape[1],
      )
      result.col = neighbor_indices.ravel()
      result.data = neighbor_distances.ravel()
  
      # Get rid of any -1 index entries
      result = result.tocsr()
      result.data[result.indices == -1] = 0.0
      result.eliminate_zeros()
  
      # Symmetrize
      result = result.maximum(result.T)
  
      return result
  
file_path: pynndescent/pynndescent/graph_utils.py
imports: import numba
  import numpy
  import heapq
  from scipy.sparse import coo_matrix
  from scipy.sparse.csgraph import connected_components
  from itertools import combinations
  import pynndescent.distances
  import joblib
  from pynndescent.utils import rejection_sample, make_heap, deheap_sort, simple_heap_push, has_been_visited, mark_visited
label_desc: Use image node_id 3 for calling a global function with example usage: adjacency_matrix_representation(neighbor_indices, neighbor_distances) and returns: result