As part of a larger code, I have to convert a quantum circuit into a Pulse scheduler. The problem is that the scheduler output is incompatible with the circuit output. In particular, the difference between the circuit output and the expected output seems to be compatible with the statistical error, while the scheduler output does not converge to the target state for a large number of shots.

This is an example:

from qiskit import circuit, transpile, schedule
from qiskit.test.mock import FakeAthens

backend = FakeAthens()

circ = circuit.QuantumCircuit(5)
circ_transpiled = transpile(circ, backend)            

#without scheduler
counts = backend.run(circ_transpiled,shots=100000).result().get_counts()

#with scheduler
scheds = schedule(circ_transpiled, backend)
sched_counts = backend.run(scheds,shots=100000).result().get_counts()

What is the source of this difference? And what can I do in order to produce the right result with the pulse scheduler?

Thank you in advance.

  • $\begingroup$ Is there a significant difference you see? I have tried running your code and I see 99.9% of the shots results concentrated in correct states 00000 and 00001 for circuit, with some other random states measured single-digit times, and schedule result only resulting in expected 00000 00001 states. While they are not exactly the same, the meaningful information is the same. Are you observing something different? $\endgroup$
    – 3yakuya
    Commented Jan 3, 2022 at 19:31


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.