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

Add support for SWAP specialization in Split2qUnitaries #13476

Open
mtreinish opened this issue Nov 21, 2024 · 0 comments
Open

Add support for SWAP specialization in Split2qUnitaries #13476

mtreinish opened this issue Nov 21, 2024 · 0 comments
Assignees
Labels
mod: transpiler Issues and PRs related to Transpiler Rust This PR or issue is related to Rust code in the repository type: feature request New feature or request

Comments

@mtreinish
Copy link
Member

What should we add?

In the split 2q unitaries transpiler pass right now we only look for identity equivalent unitaries where we return the two single qubit components from the two qubit weyl decomposition. But there is an extension to the pass where we can look at swap equivalent unitaries and simply swap the qubits the single qubit components execute on. There is a todo comment for this in the pass's code:

// TODO: also look into splitting on Specialization::Swap and just
// swap the virtual qubits. Doing this we will need to update the
// permutation like in ElidePermutations

The trick here is if we do this we basically need to mirror the logic of elide permutations both by swapping the virtual qubits in the tracked permutation but also ensure that we swap the subsequent gates on those qubits.

@mtreinish mtreinish added mod: transpiler Issues and PRs related to Transpiler Rust This PR or issue is related to Rust code in the repository type: feature request New feature or request labels Nov 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
mod: transpiler Issues and PRs related to Transpiler Rust This PR or issue is related to Rust code in the repository type: feature request New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants