CQCL / guppylang

Pythonic quantum-classical programming language
https://pypi.org/project/guppylang
Apache License 2.0
21 stars 2 forks source link

Create example program: Iterated MBQC #301

Open doug-q opened 1 month ago

daniel-mills-cqc commented 1 month ago

For an introduction to MBQC I actually recommend these lecture notes -> http://pwallden.gr/courseiqc.asp. There are reference in those lecture notes to the original papers on MBQC. Those should give you the background necessary to understand 'flow', which is how correction gates are positioned in the circuit.

For the particular circuit, in principle anything you can do in the circuit model you can do in MBQC, so you could pick your favourite application and proceed that way. I would probably recommend just implementing a small primitive for now. For example towards the end of lecture 14 in the above there is mention of a universal brickwork state. You could try to implement one 'brick' of that. Even implementing a CNOT requires relatively advanced control, so even something like that would be interesting.

A some point you may wish to start thinking about MBQC in the ZX-calculus -> https://youtu.be/0KYkTWdvNmo?si=c8G8aEYSgyG6K45P although I don't think that will be necessary just yet unless you are already familiar with ZX-calculus.