dlyongemallo/qiskit-zx-transpiler

use the "ground" operation in PyZX to handle hybrid quantum-classical circuits

Opened this issue · 1 comments

Right now, the transpiler separates operations natively supported in PyZX from those which aren't, optimises the subset which is supported, and then splices everything back together. In particular, this is a common pattern: circuit = [A, measure, B, conditional subcircuit], where only A and B are optimised.

It might be possible to handle the measure and conditional subcircuit parts using the "ground" operation in PyZX.

See this paper for details: https://arxiv.org/abs/2109.06071

This is blocked by pyzx not being able to convert "ground"s into measurements and classically-conditioned gates when extracting circuits.