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

Allow qudits in deferred measurements #5850

Merged
merged 10 commits into from
Oct 11, 2022
Merged

Conversation

daxfohl
Copy link
Contributor

@daxfohl daxfohl commented Sep 2, 2022

For this, we have to define a multidimensional ModAdd gate, for use in applying the state from the source qudit to the ancilla qudit representing the creg.

That done, we insert it into the deferred measurements algorithm instead of the ordinary CX gate, and add a qudit test to make sure it all works.

cc @viathor for sanity check on the gate logic

@daxfohl daxfohl marked this pull request as ready for review September 2, 2022 03:56
@daxfohl daxfohl requested review from a team, vtomole and cduck as code owners September 2, 2022 03:56
@daxfohl daxfohl requested a review from maffoo September 2, 2022 03:56
@CirqBot CirqBot added the size: M 50< lines changed <250 label Sep 2, 2022
Copy link
Collaborator

@viathor viathor left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good overall. I have one more comment (missing type annotations) and two optional suggestions (hiding some arguments for readability and better names).

@daxfohl
Copy link
Contributor Author

daxfohl commented Oct 11, 2022

@viathor if you want to merge this one first then I could add a test for a qudit confusion matrix in the other PR.

@viathor viathor added the automerge Tells CirqBot to sync and merge this PR. (If it's running.) label Oct 11, 2022
@CirqBot CirqBot added the front_of_queue_automerge CirqBot uses this label to indicate (and remember) what's being merged next. label Oct 11, 2022
@CirqBot CirqBot merged commit 80a9001 into quantumlib:master Oct 11, 2022
@CirqBot CirqBot removed automerge Tells CirqBot to sync and merge this PR. (If it's running.) front_of_queue_automerge CirqBot uses this label to indicate (and remember) what's being merged next. labels Oct 11, 2022
@daxfohl daxfohl deleted the deferred-qudit branch October 12, 2022 00:48
rht pushed a commit to rht/Cirq that referenced this pull request May 1, 2023
For this, we have to define a multidimensional ModAdd gate, for use in applying the state from the source qudit to the ancilla qudit representing the creg. 

That done, we insert it into the deferred measurements algorithm instead of the ordinary CX gate, and add a qudit test to make sure it all works.

cc @viathor for sanity check on the gate logic
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
size: M 50< lines changed <250
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants