If I create a QuantumCircuit, I can save all the information necessary to reconstruct the circuit using the qasm method. In addition, these qasm strings can be sent directly to the IBM quantum computers (and some others). This makes it convenient for storing these circuits locally and passing them around to collaborators when I want them to test the same circuit unambiguously. In addition, it's faster to load in and send qasms than it is to create circuits every time I want to create the same (large) circuit to run over different calibration cycles.

Is there an analogous method for OpenPulse Schedules?

The closest I could find was the .instructions method, but this creates an unwieldy tuple which cannot be sent directly to the QCs. This means I cannot just call the instructions method, save the string to a text file, and pass this to a collaborator. While I could write a file parser which reads these strings, this would take a long time and would break if the API is changed. Furthermore, even if I did do this, these tuples saved as a string to a .txt file take up an enormous amount of disk space, so it's actually not faster to manipulate the instructions, and I'm better of re-creating the pulses from scratch every time (which is also slow).

If not, has anyone come up with a "schedule qasm" workaround/hack for the time being?


I believe there are several developments about this on Qiskit to make the use of Pulse easier. Try to check the PR or the issues regarding Pulse, maybe you'll find what you are looking for.
I also found an issue about a QASM 3.0, I think this will interest you! :)

  • $\begingroup$ Thanks, Lena. I think this answer makes it clear that this feature I am asking for is NOT implemented yet. $\endgroup$ – Nic Jul 26 '20 at 0:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.