Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add experimental QIR to AQT API converter. #162

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open

Conversation

airwoodix
Copy link
Collaborator

Summary

This PR adds an experimental conversion function from QIR to the AQT API format.

Due to the limited functionality of the backend, the subset of accepted QIR is quite small (see the conversion function's docstring for the main limitations).

Public documentation may be added once the functionality stabilizes and is properly exposed.

Details and comments

This patch only provides the conversion function and some rather optimistic tests. Follow ups will expose the functionality on AQTResource.

For convenience, the set of accepted QIR QIS calls is slightly larger than the native gate set. Angle-wrapping is performed on the fly on single-qubit gates because it trigger the emission of extra operations. This is not the case for RXX gates and thus no angle-wrapping is performed.

New dependencies (gated by the qir feature):

  • pyqir is used to manipulate the QIR bitcode
  • in tests, qiskit-qir is used to conveniently generate QIR modules from Qiskit QuantumCircuits.

@airwoodix airwoodix self-assigned this May 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant