Exemple #1
0
 def setup(self, n_qubits, depth):
     seed = 42
     self.circuit = random_circuit(n_qubits,
                                   depth,
                                   measure=True,
                                   conditional=True,
                                   reset=True,
                                   seed=seed,
                                   max_operands=2)
     self.basis_gates = ['rz', 'sx', 'x', 'cx', 'id', 'reset']
     self.cmap = [[0, 1], [1, 0], [1, 2], [1, 6], [2, 1], [2, 3], [3, 2],
                  [3, 4], [3, 8], [4, 3], [5, 6], [5, 10], [6, 1], [6, 5],
                  [6, 7], [7, 6], [7, 8], [7, 12], [8, 3], [8, 7], [8, 9],
                  [9, 8], [9, 14], [10, 5], [10, 11], [11, 10], [11, 12],
                  [11, 16], [12, 7], [12, 11], [12, 13], [13, 12], [13, 14],
                  [13, 18], [14, 9], [14, 13], [15, 16], [16, 11], [16, 15],
                  [16, 17], [17, 16], [17, 18], [18, 13], [18, 17],
                  [18, 19], [19, 18]]
     self.coupling_map = CouplingMap(self.cmap)
     self.transpiled_circuit = transpile(self.circuit,
                                         basis_gates=self.basis_gates,
                                         coupling_map=self.coupling_map,
                                         optimization_level=1)
     self.dag = circuit_to_dag(self.transpiled_circuit)
     self.durations = InstructionDurations([
         ("rz", None, 0),
         ("id", None, 160),
         ("sx", None, 160),
         ("x", None, 160),
         ("cx", None, 800),
         ("measure", None, 3200),
         ("reset", None, 3600),
     ],
                                           dt=1e-9)
     self.timed_dag = TimeUnitConversion(self.durations).run(self.dag)
     _pass = ALAPSchedule(self.durations)
     _pass.property_set['time_unit'] = "dt"
     self.scheduled_dag = _pass.run(self.timed_dag)
Exemple #2
0
 def time_alap_schedule_pass(self, _, __):
     _pass = ALAPSchedule(self.durations)
     _pass.property_set['time_unit'] = "dt"
     _pass.run(self.timed_dag)