code: def construct_tpb_graph(experiments: TomographyExperiment):
      
      g = nx.Graph()
      for expt in experiments:
          assert len(expt) == 1, 'already grouped?'
          expt = expt[0]
  
          if expt not in g:
              g.add_node(expt, count=1)
          else:
              g.nodes[expt]['count'] += 1
  
      for expt1, expt2 in itertools.combinations(experiments, r=2):
          expt1 = expt1[0]
          expt2 = expt2[0]
  
          if expt1 == expt2:
              continue
  
          max_weight_in = _max_weight_state([expt1.in_state, expt2.in_state])
          max_weight_out = _max_weight_operator([expt1.out_operator, expt2.out_operator])
          if max_weight_in is not None and max_weight_out is not None:
              g.add_edge(expt1, expt2)
  
      return g
docs: Construct a graph where an edge signifies two experiments are diagonal in a TPB.