-
Notifications
You must be signed in to change notification settings - Fork 17
Add axes selection to measure and EPR create PMG calls #94
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
base: develop
Are you sure you want to change the base?
Conversation
| EprMeasBasis.X: (24, 0, 0), | ||
| EprMeasBasis.Y: (8, 24, 24), | ||
| EprMeasBasis.Z: (0, 0, 0), | ||
| # FIXME: Check with Bart what the correct decompositions are for the negative bases. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@bvdvecht Could you provide me with the correct decompositions?
| EprMeasBasis.X: (24, 24, 8), | ||
| EprMeasBasis.Y: (0, 8, 0), | ||
| EprMeasBasis.Z: (0, 0, 0), | ||
| # FIXME: Check with Bart what the correct decompositions are for the negative bases. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@bvdvecht Could you provide me with the correct decompositions?
| qubit_reg: operand.Register, | ||
| params: EntRequestParams, | ||
| ) -> None: | ||
| # FIXME: Figure out with Bart what the versions of these corrections is for YZY and ZXZ. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@bvdvecht Could you provide me with the correct decompositions?
This adds the option to select the axes that a particular pre-measurement gate (PMG) should rotate around.
This is needed, as for some platforms (such as NV) it is more performant to rotate around certain axes than others.
For the Measure command, it was not possible to add this functionality to the encoding without breaking backwards-compatiblity.
Thus, for that command two new opcodes have been added that encode the axes in the opcode.
Back-end maintainers should thus add support for these new opcodes, but will remain compatible with any code that does not make use of them.
For EPR Create, the parameter array was extended by two so that the axes could be encoded in there.
This is thus fully backwards-compatible.
This PR also cleans up a bit of the code I was working in.
This is a redo of a previously reverted feature, see also #76.