code: def non_interactions(graph, t=None):
      
      # if graph.is_directed():
      #    for u in graph:
      #        for v in non_neighbors(graph, u, t):
      #            yield (u, v)
      #else:
      nodes = set(graph)
      while nodes:
          u = nodes.pop()
          for v in nodes - set(graph[u]):
              yield (u, v)
docs: Returns the non-existent edges in the graph at time t.
  
          Parameters
          ----------
  
          graph : NetworkX graph.
              Graph to find non-existent edges.
  
          t : snapshot id (default=None)
              If None the non-existent edges are identified on the flattened graph.
  
  
          Returns
          -------
          non_edges : iterator
              Iterator of edges that are not in the graph.