TeamGraphix / graphix

measurement-based quantum computing (MBQC) compiler and simulator
https://graphix.readthedocs.io
Apache License 2.0
64 stars 21 forks source link

Layering circuit class with unit gate set #192

Open masa10-f opened 3 months ago

masa10-f commented 3 months ago

Is your feature request related to a problem? Please describe. A clear and concise description of what the problem is.

Graphix now treats all the gates equally and doesn't have a unit gate set so we need transpilation recipes for the all.

Describe the feature you'd like A clear and concise description of what you want to happen.

Express every gate as a combination of J and CZ, a well known unit gate set in XY-limited MBQC. This will make it easier for us to maintain circuit class and tranpilation recipes, which converts circuits into patterns or underlying graph states.

Additional context Add any other context or screenshots about the feature request here.

I found that we can also include the YZ gadget as a unit gate because it can be treated as a multi-qubit unitary gate, and it has an obvious gflow. g(i) = {i} always holds, where i is a qubit measured in YZ plane

mgarnier59 commented 3 months ago

Since this is linked to the transpiler, maybe discuss on https://github.com/TeamGraphix/graphix/issues/142 ?

masa10-f commented 3 months ago

Thanks! I intend to refactor the circuit class both for direct pattern transpilation and graph state generation, which I am preparing I have already done this in another repo., so we can discuss on the coming PR