-
-
Notifications
You must be signed in to change notification settings - Fork 55
✨ Add inv Modifier for MLIR Redesign
#1330
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
Merged
Merged
Changes from all commits
Commits
Show all changes
47 commits
Select commit
Hold shift + click to select a range
6691c07
Add inverse operation to QC dialect
Ectras 041aad1
Add inverse operation to QCO dialect
Ectras 3c4f859
Fix CancelNestedInv pass
Ectras 56fad64
Add qco.inv to qc.inv conversion
Ectras 1b72be6
Add qc.inv to qco.inv conversion
Ectras 3386355
Merge branch 'main' into ectras/inv_modifier
Ectras 24f5c20
Update inv modifier to current code state
Ectras b4cbac9
Merge branch 'main' into ectras/inv_modifier
Ectras ed407d6
Add unitary matrix getter to inv modifier
Ectras 3089586
Add passes for inverting library gates
Ectras 6e53cac
Remove unused includes in InvOp
Ectras d276aa5
Fix typo in QCToQCO error message
Ectras 1a533ad
Remove useless instruction in InvOp QCToQCO conversion
Ectras 8be434d
Rename inControlOp to inNestedRegion for QCToQCO conversion
Ectras b2c8d80
Fix QCO::Inv construction
Ectras 8c55029
Add InvOp unit tests
Ectras 85841df
Simplify angle negation in InvOp
Ectras 9a73661
Add canonicalization for inverse of most gates
Ectras 81f8815
Fix typo in InvOp
Ectras 6672af4
Add canonicalization for ordering ctrl and inv
Ectras 055b0ca
Revert "Fix typo in QCToQCO error message"
Ectras 7610d9c
Rename inCtrlOp to inNestedRegion
Ectras a79e43d
Allow nested inv modifier
Ectras 9bf8ac2
Merge branch 'main' into ectras/inv_modifier
Ectras 58797d7
Implement getInputQubits/getOutputQubits for inv modifier
Ectras 7868cb7
Add test for nested inv ctrl
Ectras 5dc73a9
Add test for inv self-adjoint gate
Ectras 11eec45
Fix outdated inv documentation
Ectras 0f80939
Merge branch 'main' into ectras/inv_modifier
burgholzer 6ca4a86
🚨 mark LLVM includes as SYSTEM
burgholzer 9059412
🎨 also mark the QCO modifiers with the required terminator
burgholzer 13d4ea7
♻️ `getNumQubits` can simply pass through underlying method
burgholzer f75d031
🚨 silence const correctness warnings in MLIR code
burgholzer 2fa15ac
♻️ the `inv` operation itself should not have controls
burgholzer 7353acb
🩹 fix inverse of U and U2
burgholzer 6ab391e
🎨 inline angle negation
burgholzer b3369f2
🩹 add CancelNestedInv pattern to QCO canonicalization patterns
burgholzer 817ea35
🚚 refer to block arguments as `qubits` instead of `targets`
burgholzer b93e330
🩹 ensure block argument mapping for InvOp builder
burgholzer 4a7b5c3
🚨 fix warning about changed visibility in conversion
burgholzer 9f491d6
🎨 slightly tweak conversion code for InvOp
burgholzer 7a450e7
🎨 slightly tweak the tests
burgholzer 71fbec8
📝 add PR and Manuel to changelog
burgholzer b863ffe
👌 declare methods as static where possible
burgholzer 001ffb6
🩹 fix nested inv QCO canonicalization
burgholzer c377175
✅ modify test to trigger QCO canonicalization
burgholzer 5fd84c3
🚨 fix missing include
burgholzer File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
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
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
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
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
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
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
Oops, something went wrong.
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.