-
Notifications
You must be signed in to change notification settings - Fork 14
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 support for a controlled-phase gate (= controlled-Z-rotation gate) with a rotation angle chosen by the caller. #39
Comments
In the issue report I said that I would generate a pull request for this in the near future. I think I was able to add support for CROTZ to NetQASM on a feature branch off of a fork of the QuTech netqasm repo. This required also adding CROTZ support to SquidASM, which I also did on a feature branch off of a fork of QuTech squidasm repo. However, at that point, I found out that NetSquid does not appear to have implemented the CROTZ gate:
Unfortunately, the source code for NetSquid is not publicly available, so I am stuck at this point. Unless someone with access to NetSquid source code helps out by adding CROTZ support I won't be able to make any further progress. |
Looked some more into NetSquid. Although CROTZ (with a user-chosen rotation angle) is not available as a primitive operation in |
After looking into NetSquid some more, it looks like the problem is something else than what I thought. NetSquid does in fact have a |
Yes, that was it, I just needed to register the physical instruction:
That allows me to use controlled-Z-rotation gates in QNE-ADK applications (at least for the vanilla/generic quantum processor, although perhaps not for the NV quantum processor). This is what I needed to implement QFT for the Quantum Internet Hackathon 2022. If anyone is interested, I can submit a pull requests for the necessary changes in squidasm and netqasm. If not interested, feel free to close this ticket with no further action. Either way, I have the necessary changes in a local fork and I am unblocked for the hackathon. |
Add support for a controlled-phase gate (= controlled-Z-rotation gate) with a rotation angle chosen by the caller.
NetQASM current supports:
Single-qubit Z-rotation operations with fixed angles, namely operator Z (fixed rotation angle pi), operator S (fixed rotation angle pi/2), and operator T (fixed rotation angle pi/4).
A single-qubit Z-rotation operation with a rotation angle chosen by the caller, namely operator ROT_Z.
A two-qubit controlled-Z-rotation operation with a fixed angle, namely operator CPHASE (fixed rotation angle pi).
What is missing is a two-qubit controlled-Z-rotation operation with a rotation angle chosen by the caller. Perhaps this could be called CROT_Z.
This new CROT_Z operation is needed to implement the Quantum Fourier Transformation (QFT).
I plan to generate a pull request for this in the near future.
The text was updated successfully, but these errors were encountered: