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

Unroll circuit_op when validating containment in a gateset #4770

Merged

Conversation

tanujkhattar
Copy link
Collaborator

Fully unroll a circuit operation using op.mapped_circuit(deep=True) when checking containment of underlying operations in a gateset. This correctly handles circuit ops with negative reps, which lead to inverting all operations in the underlying circuit.

Fixes #4727.

@tanujkhattar tanujkhattar requested review from cduck, vtomole and a team as code owners December 20, 2021 21:27
@CirqBot CirqBot added the size: S 10< lines changed <50 label Dec 20, 2021
@MichaelBroughton MichaelBroughton added the automerge Tells CirqBot to sync and merge this PR. (If it's running.) label Dec 21, 2021
@CirqBot CirqBot added the front_of_queue_automerge CirqBot uses this label to indicate (and remember) what's being merged next. label Dec 21, 2021
@CirqBot CirqBot merged commit 5da6335 into quantumlib:master Dec 21, 2021
@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 Dec 21, 2021
MichaelBroughton pushed a commit to MichaelBroughton/Cirq that referenced this pull request Jan 22, 2022
…b#4770)

Fully unroll a circuit operation using `op.mapped_circuit(deep=True)` when checking containment of underlying operations in a gateset. This correctly handles circuit ops with negative reps, which lead to inverting all operations in the underlying circuit.  

Fixes quantumlib#4727.
rht pushed a commit to rht/Cirq that referenced this pull request May 1, 2023
…b#4770)

Fully unroll a circuit operation using `op.mapped_circuit(deep=True)` when checking containment of underlying operations in a gateset. This correctly handles circuit ops with negative reps, which lead to inverting all operations in the underlying circuit.  

Fixes quantumlib#4727.
harry-phasecraft pushed a commit to PhaseCraft/Cirq that referenced this pull request Oct 31, 2024
…b#4770)

Fully unroll a circuit operation using `op.mapped_circuit(deep=True)` when checking containment of underlying operations in a gateset. This correctly handles circuit ops with negative reps, which lead to inverting all operations in the underlying circuit.  

Fixes quantumlib#4727.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
size: S 10< lines changed <50
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Gateset containership, subcircuits with negative reps
4 participants