-
Notifications
You must be signed in to change notification settings - Fork 90
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
Introduce Relabel
API
#1905
Introduce Relabel
API
#1905
Conversation
This change introduces an API for swapping qubit labels without needing to use any quantum SWAP operations. This notion of relabeling is used in some quantum algorithms when all-to-all connectivity is assumed. The change includes support for label swapping in simulation, circuit generation, and QIR codegen.
Change in memory usage detected by benchmark. Memory Report for d3440cc
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Resource estimation changes (a comment at tests) look good
Converting to draft while I tweak the library API. Got some feedback that something that allows for a broader abstraction, like swap of identifiers between two lists, would be helpful for some algorithm. |
SwapLabels
APISwapLabels
and Relabel
APIs
Change in memory usage detected by benchmark. Memory Report for 7f692e8
|
Change in memory usage detected by benchmark. Memory Report for b38a5b6
|
Change in memory usage detected by benchmark. Memory Report for 5373354
|
Change in memory usage detected by benchmark. Memory Report for 811e014
|
Change in memory usage detected by benchmark. Memory Report for 4b0317c
|
Change in memory usage detected by benchmark. Memory Report for bd26205
|
Change in memory usage detected by benchmark. Memory Report for 49e32d7
|
Change in memory usage detected by benchmark. Memory Report for 8445c52
|
This change introduces an API for relabeling qubits without needing to use any quantum SWAP operations. This notion of relabeling is used in some quantum algorithms when all-to-all connectivity is assumed. The change includes support for label swapping in simulation, circuit generation, and QIR codegen. The
Relabel
operation takes qubit arrays that represent a permutation of labels without needing to manually break that permutation down into its equivalent two qubit swaps.