Repository navigation
✨ Canonicalize adjacent controlled gates - #2752
Merged
Merged
Conversation
Expose matching controlled inverse pairs and constant rotations to the existing gate canonicalizers. Preserve target constraints and wire order, with full-unitary regressions for controlled phase and multi-target gates. Assisted-by: GPT-6 via Codex
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
🤖 AI text below 🤖
Description
Adjacent controlled inverse gates and constant rotations currently remain hidden in separate control regions. This joins only matching control/target wires with single-unitary bodies, letting the existing gate canonicalizers cancel inverse pairs or merge rotations. Target-bound rotations remain separate so native fixed-angle constraints are preserved.
Extracted independently from the keynote branch (#2685), based directly on
main; no dependency on the other extracted changes. Tests compare full unitaries, including controlled phase, two-target gates, reversed wire order, and target constraints. Both positive regressions fail on upstream before the fix.Validation: all 584 QCO IR tests (including 19 modifier canonicalization tests), whole-file C++ lint, and repository lint pass locally. Independent ponytail review found no findings. Hosted CI is pending.
AI assistance covered extraction, independent review, regression fixes, validation, and this description within the user-authorized scope. Human acceptance/review remains.
Checklist
If PR contains AI-assisted content:
🤖 *AI text below* 🤖(titles are exempt).