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 CnX decompositions with ancilla qubits #1725

Open
sjdilkes opened this issue Dec 31, 2024 · 2 comments
Open

Add CnX decompositions with ancilla qubits #1725

sjdilkes opened this issue Dec 31, 2024 · 2 comments

Comments

@sjdilkes
Copy link
Contributor

sjdilkes commented Dec 31, 2024

See qiskit implementations here -> https://docs.quantum.ibm.com/api/qiskit/qiskit.circuit.QuantumCircuit#mcx

https://arxiv.org/pdf/1508.03273

@jpacold
Copy link
Contributor

jpacold commented Mar 4, 2025

Could I take part of this, say implementing MCXVChain?

If so, should it just be a new function in CircPool.hpp?

@yao-cqc
Copy link
Contributor

yao-cqc commented Mar 4, 2025

@jpacold Much appreciated, thanks for taking this on!

Implementing MCXVChain in CircPool and binding it in circuit_library.cpp would be a good start.

In the bigger picture, tket doesn't have a mechanism to manage ancilla qubits, so integrating this CnX decomposition method into the current rebase pipeline wouldn’t be straightforward. It might be useful to support CnX gates as Boxes, allowing users to specify how each should be decomposed. But for now, I think adding MCXVChain to CircPool is a necessary step forward.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants