Skip to content

Allow qudits in deferred measurements#5850

Merged
CirqBot merged 10 commits intoquantumlib:masterfrom
daxfohl:deferred-qudit
Oct 11, 2022
Merged

Allow qudits in deferred measurements#5850
CirqBot merged 10 commits intoquantumlib:masterfrom
daxfohl:deferred-qudit

Conversation

@daxfohl
Copy link
Copy Markdown
Collaborator

@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, cduck and vtomole 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
Comment thread cirq-core/cirq/transformers/measurement_transformers.py Outdated
Comment thread cirq-core/cirq/transformers/measurement_transformers.py Outdated
Copy link
Copy Markdown
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).

Comment thread cirq-core/cirq/transformers/measurement_transformers.py Outdated
Comment thread cirq-core/cirq/transformers/measurement_transformers.py Outdated
Comment thread cirq-core/cirq/transformers/measurement_transformers.py Outdated
Comment thread cirq-core/cirq/transformers/measurement_transformers.py Outdated
Comment thread cirq-core/cirq/transformers/measurement_transformers.py
@daxfohl
Copy link
Copy Markdown
Collaborator 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
harry-phasecraft pushed a commit to PhaseCraft/Cirq that referenced this pull request Oct 31, 2024
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.

3 participants