From 2fb0913b1bf25f860e45bee0013210ca5a35bff7 Mon Sep 17 00:00:00 2001 From: ikkoham Date: Mon, 6 Nov 2023 17:41:40 +0900 Subject: [PATCH] Refactor --- qiskit/primitives/backend_estimator.py | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/qiskit/primitives/backend_estimator.py b/qiskit/primitives/backend_estimator.py index 3627afb40fbf..3805f2b6fb52 100644 --- a/qiskit/primitives/backend_estimator.py +++ b/qiskit/primitives/backend_estimator.py @@ -201,25 +201,18 @@ def _transpile(self): # 1. transpile a common circuit if self._skip_transpilation: transpiled_circuit = common_circuit.copy() - perm_pattern = list(range(common_circuit.num_qubits)) + final_index_layout = list(range(common_circuit.num_qubits)) else: transpiled_circuit = transpile( common_circuit, self.backend, **self.transpile_options.__dict__ ) if transpiled_circuit.layout is not None: - layout = transpiled_circuit.layout - virtual_bit_map = layout.initial_layout.get_virtual_bits() - perm_pattern = [virtual_bit_map[v] for v in common_circuit.qubits] - if layout.final_layout is not None: - final_mapping = dict( - enumerate(layout.final_layout.get_virtual_bits().values()) - ) - perm_pattern = [final_mapping[i] for i in perm_pattern] + final_index_layout = transpiled_circuit.layout.final_index_layout() else: - perm_pattern = list(range(transpiled_circuit.num_qubits)) + final_index_layout = list(range(transpiled_circuit.num_qubits)) # 2. transpile diff circuits - passmanager = _passmanager_for_measurement_circuits(perm_pattern, self.backend) + passmanager = _passmanager_for_measurement_circuits(final_index_layout, self.backend) diff_circuits = passmanager.run(diff_circuits) # 3. combine transpiled_circuits = []