bqskit icon indicating copy to clipboard operation
bqskit copied to clipboard

Adding Block ZXZ Decomposition to BQSKit

Open jkalloor3 opened this issue 5 months ago • 0 comments

Implementation of the synthesis algorithm described here: https://arxiv.org/pdf/2403.13692v1

The Block ZXZ Decomposition is able to produce much more efficient circuits than the Quantum Shannon Decomposition. Furthermore, I have implemented an ExtractDiagonalPass.

As shown in Appendix A.2 of https://arxiv.org/pdf/quant-ph/0406176, you can extract a diagonal operator from a 2-qubit unitary in order to save 1 CNOT per 2-qubit unitary. The actual construction is not fully shown, but we can reproduce the results with instantiation. I have scaled up this instantiation to work with up to 5-qubits, just by assuming a ladder CNOT ansatz. The savings from this pass are substantial, and I expect this to lead to big results in terms of CNOT count for large unitaries.

jkalloor3 avatar Sep 27 '24 19:09 jkalloor3