code: def default_rotations(*qubits):
      
      for gates in cartesian_product(TOMOGRAPHY_GATES.keys(), repeat=len(qubits)):
          tomography_program = Program()
          for qubit, gate in izip(qubits, gates):
              tomography_program.inst(gate(qubit))
          yield tomography_program
docs: Generates the Quil programs for the tomographic pre- and post-rotations of any number of qubits.
  
      :param list qubits: A list of qubits to perform tomography on.