code: def group_experiments_clique_removal(experiments: TomographyExperiment) -> TomographyExperiment:
      
      g = construct_tpb_graph(experiments)
      _, cliqs = clique_removal(g)
      new_cliqs = []
      for cliq in cliqs:
          new_cliq = []
          for expt in cliq:
              # duplicate `count` times
              new_cliq += [expt] * g.nodes[expt]['count']
  
          new_cliqs += [new_cliq]
  
      return TomographyExperiment(new_cliqs, program=experiments.program)
docs: Group experiments that are diagonal in a shared tensor product basis (TPB) to minimize number
      of QPU runs, using a graph clique removal algorithm.
  
      :param experiments: a tomography experiment
      :return: a tomography experiment with all the same settings, just grouped according to shared
          TPBs.