I tried to do qubit mapping called 'SABRE' and execute transpiled quantum circuit. I use FakeTokyo backend which has some noise because it is mock version of IBMQ 20-Tokyo. I know using this backend makes some noise but will not change final result when I measure my circuit. But, when I transpile my quantum circuit like below code, the result is always different. I wonder why this happens.
from qiskit.test.mock import FakeTokyo from qiskit.circuit.measure import measure from qiskit.execute_function import execute from qiskit.circuit.quantumcircuit import QuantumCircuit from qiskit.compiler import transpile backend = FakeTokyo() final_circuit = transpile(circuits=circuit, backend=backend, routing_method='sabre', layout_method='sabre', basis_gates=['u1', 'u2', 'u3', 'cx', 'id']) final_circuit.barrier() final_circuit.measure_all() results = execute(final_circuit, backend).result() counts = results.get_counts() print("result : ", counts)
circuits = circuit means I input list of quantum circuits into transpile function. I really don't know why the results always different.